For Lovable apps
Built it on Lovable.
Keep it working with Lastest.
Lovable turns prompts into full-stack apps. Lastest turns your running Lovable app into a suite of deterministic E2E and visual tests - without opening Playwright docs. See how to fix the SEO problem in your Lovable app.

Why Not Just Ask the AI?
You can ask Lovable to test what it built. Here's why that breaks.
Lovable apps are full-stack: frontend, backend, database, auth, the works. That's more surface area for regressions - and the exact place where “just ask the LLM” falls apart fastest. Two approaches, one that actually holds.
Ask the AI to test your Lovable app.
The LLM clicks through a happy path in a chat, declares it works, and moves on. Different path every run. No artifact. No visual baseline. Every re-run burns tokens - and your full-stack regressions hide between the DB and the button.
- Non-deterministic - never runs the same flow twice
- Tokens compound - every re-run is another bill
- No visual layer - broken layouts pass as “working”
- No record of what used to work
Use Lastest. Generate once. Replay forever.
Point Lastest at your running Lovable app. Click through the flow once. AI generates deterministic Playwright code with multi-selector fallback and a visual baseline. Every run after that is free. It tests the running app, not the code - so it doesn't care how Lovable generated things under the hood.
- Deterministic replays - same flow, same screenshots, every run
- Zero tokens after generation - CI bill stays flat
- Full-stack coverage - click the button, hit the API, read the DB, check the UI
- Self-healing selectors - 7-layer fallback survives Lovable re-renders
- Framework-agnostic - tests whatever URL the running app serves
Built for Lovable Workflows
Prompt the app. Guard the app.
Two features that matter when your whole stack is one prompt away from regenerating.
01 · Record
Click through your Lovable app. That's the test.
Open the recorder, walk through a real user flow - sign up, create a thing, edit it, delete it - and hit stop. Lastest captures every click, type, and navigation and generates deterministic Playwright code. It tests the running app, so you don't need source access to the code Lovable generated.
- Auto-detects file upload, clipboard, downloads, network
- Covers both UI flows and backend side-effects in one pass
- Captures multi-step screenshots per test run

02 · Visual diff
Did the last Lovable prompt silently break something?
A full-stack regeneration can change everything from the API shape to a button's border radius. DOM-only tests pass and the dashboard is still visibly broken. Lastest compares screenshots with three diff engines (Pixelmatch, SSIM, Butteraugli) - you see the regression, not just a green check.
- Auto-mask timestamps, UUIDs, relative times
- AI failure triage: real regression vs. flaky vs. env issue
- Approve or reject each change with a one-click slider

Common questions for Lovable apps
- Why are full-stack Lovable apps especially regression-prone?
- Lovable regenerates frontend, backend, database schema, and auth all from one prompt. A “clean up the dashboard” prompt can flip an API field name, change a Supabase RLS policy, or rename a session cookie. The site still renders; the regression hides between the DB and the button. Lastest records the running flow end-to-end so the regression surfaces as a visible diff.
- Can I ask the AI to test the app it just built?
- You can. The LLM clicks a happy path, declares it works, and moves on. Different path every run, no artifact, no visual baseline. Tokens compound. Lastest records the flow once with deterministic selectors, replays the exact same flow on every push for free.
- Does Lastest test the database side, not just the UI?
- Yes, implicitly. Lastest tests the running app, so a recorded flow that creates a row, edits it, and reads it back exercises the full stack. If the API field renames or RLS quietly blocks the read, the resulting screenshot fails the visual diff. End-to-end coverage without database mocking.
- How does it handle Lovable rerenders that swap class names?
- Seven-layer selector fallback (data-testid, id, role, aria-label, visible text, CSS, OCR) survives most rerenders. When everything breaks, AI Test Fixing proposes a patch you approve in one click, far cheaper than re-recording from scratch.
- Will it run on every Lovable deploy?
- Yes. The GitHub Action
las-team/lastest/action@mainruns against any preview URL on PR open, fails the PR on diff, and posts the screenshots to the PR for one-click review. - What does it cost?
- Zero. Lastest is open source (FSL-1.1-ALv2) and self-hosted. No per-screenshot, per-seat, or token-per-run cost. Run unlimited replays.
Add real tests
to your Lovable app.
In five minutes.
No cloud account. No API key. No procurement. Point it at your running Lovable app and go. Open source, FSL-1.1-ALv2 licensed, $0 forever.
★ Star & Install from GitHub →# 1. clone
$ git clone https://github.com/las-team/lastest
# 2. start
$ cd lastest && docker-compose up -d
# 3. point at your Lovable app URL
$ open http://localhost:3000
✓ View the source