The question

Your AI app said done. That is not evidence it works.

The preview loaded. The chat told you it was done. But maybe login still doesn't work, the pay button does nothing, or you've never actually tried it the way a stranger would. That gap is normal. It isn't a mystery, and it isn't your fault.

Direct answer

"Done" means the AI finished generating your code. It does not mean a real person can sign up, pay, or do whatever your app is for. A preview loading, a green checkmark, or a page that opens are not proof of that, no matter how finished it looks. And if the same AI that built your app is the one telling you it's ready, that isn't a second opinion. It's the builder grading its own work.

Last verified 18 August 2026Opinion labelled. Facts cited.

Done is how a builder converts you.
Proof is whether a stranger can finish the job.

Why this happens so often

Tools that turn a prompt into an app are built to make a great first impression, fast. That is not a flaw in your project. It is what the whole category is optimized for. Lovable, v0, Bolt, Replit, and Base44 all work the same basic way: generate code, show you an instant preview, and offer to auto-fix anything that looks broken. The system is built to make you feel like you have a finished app, because that feeling is what keeps you building.

The technical detailThey converge on a constrained tech stack, a curated component library, a streaming code-generation loop, and an iterate-or-auto-fix path. Different branding, the same shape.

That is our read of the situation, not a claim we are stating as neutral fact, and it is backed by what these companies say about themselves. Vercel describes v0 as a mix of a licensed AI model and an automatic error-fixing pass, not as something that tests how a customer would use the app. Replit's Agent 3 does open a real browser and click through the app, but then that same AI writes its own summary and fixes what it found. Different companies, same problem: whoever wrote the code is also the one grading it.

The technical detailVercel describes v0 as a composite of a rented frontier model, retrieval-augmented generation, and a trained AutoFix post-processor, not a tester of user journeys.

None of this means your app is broken. It just means "done" was never actually answering the question you cared about.

Based on what each company says publicly, not a lab test of every app

What each builder actually does after it says "done"

This table comes from what each company says about itself as of August 2026, not from us testing every app ever made with these tools. Companies can change this at any time. Where a cell says Unknown, that means we could not find a public claim about it, not that the feature secretly does not exist.

Sources are listed at the bottom of this page. "Independent" means checked by something other than the AI that wrote the code.
Builder Does it run your app after building it? Does it click through like a real customer? What proof you get Checked by someone other than the AI that built it?
v0 Builds it and shows a live preview. An auto-fix step patches obvious code errors as it goes. Not stated anywhere we found. Unknown. A preview, and a deployed copy of the app. No.
Lovable A live preview. If a build or publish fails, it offers a "Try to fix" button. Not stated anywhere we found. The preview itself, plus error messages when something breaks. No.
Bolt Yes, automatically. It runs inside a live browser tab the moment you open the project. Not stated anywhere we found. Just the live preview you are looking at. No.
Replit Agent 3 Yes. It opens a real browser and tests the app. Yes. It clicks buttons, fills forms, and can log in using its own test account. A written summary of what it tested, plus video recordings. No. The same AI that wrote the code also tests it and fixes what it finds.
Base44 Yes, a hosted preview. It also gives you a manual testing checklist and a button to view the app as a regular user. Only if you do it yourself. The chat assistant can help if you ask it to. Nothing documented. No.
Hercules Unclear. An older note did not say; newer docs mention Browser Tests. See our full comparison. Only what is visible on screen, based on current docs. It cannot test anything behind a login. See our full comparison. Made by the same company. Not an outside judge.

Our take: Replit deserves credit here. It is proof that "these tools test nothing" is not quite true. But it is also proof that even a real test is worthless as an outside check if the same AI grades itself. A written summary in a chat is not something you or anyone else can verify later, and Replit's own announcement says the Agent will "fix any issues that it detected," itself.

Why the link you were given does not always work for other people

Why the same link does not work for everyone

Even a careful person, or an honest testing tool, cannot just click the link your builder gave you and call it done. That link almost always falls into one of three categories.

01

It only exists inside your own browser tab

Bolt runs your app entirely inside your own browser tab. There is nothing running on a server anywhere, so there is nothing for anyone else, including us, to open. Sending that link to a friend, a client, or a checking tool will not work, because there is no address on the internet for it to go to.

The technical detailBolt's in-editor preview is a WebContainer: a Node runtime that runs entirely client-side in your tab. Official WebContainers documentation confirms there is no origin server. A URL cannot reach what was never put on the network.

02

It asks anyone who opens it to sign in first

Your v0 preview link usually asks anyone else who opens it to sign in first, so a client who clicks it sees a login screen instead of your app, unless you have specifically shared a bypass link. Replit's working links can also change, go private, or stop working the moment you close the project. A link that moves or locks itself is not something you can call finished.

The technical detailVercel preview deployments are commonly 401 Unauthorized unless you supply a bypass secret or a shareable link. Replit dev URLs are public only while the workspace is active.

03

It opens for everyone, but the sign-in screen still blocks the real test

Once you publish, links like your Lovable, Bolt, v0, Replit, or Base44 site (.lovable.app, .bolt.host, .replit.app, and similar) do work for anyone. But if your app has its own sign-in screen, that screen still blocks the parts that actually matter, like checkout or a saved account. Any checker that claims to get past that screen without a test account you gave it is either making up a result or trying to break in.

A page opening is not the same as it working

Your app can load and still be broken

Lovable's editor link opens instantly and looks fine. But it is an empty shell; the real product only shows up after you sign in, inside your browser. A simple tool that just checks "did the page load" will call this a success, while an actual stranger still cannot do anything with it.

The technical detailWhat a status-code check actually sees:

GET /projects/8f3a… → 200 OK
What loaded: an empty page shell, no real content
What that means: still locked behind sign-in
Our read: Unknown, not Proven

Where we stop, on purpose

A sign-in screen is not a pass

If you cannot get past the sign-in screen, you do not actually know whether checkout works, whether one customer could accidentally see someone else's information, or whether an empty-looking page is hiding a real problem. The honest move is to stop there and call it Unknown, not to dress that Unknown up as Done.

A different kind of wall is built to stop robots, like Cloudflare or a "prove you're human" check. If one of those stops us, it means the checker never even reached your app. The honest word for that is Blocked, not Broken.

What to do instead, without PeerRun

Write down three things a real person needs to be able to do. Not "the homepage loads," but things like: a new visitor can create an account, a signed-in user can pay, and one user can never see another user's private information. Try each one yourself in a private browser window, on your phone, and again after you make any change. Do not let the AI that wrote the code be the one who tells you it passed.

If your preview only works inside your own browser tab, or asks you to sign in before anyone else can see it, you do not have anything public to test yet. Export or copy the code and run it somewhere you control. If you hit a sign-in screen, either stop there or make a separate test account for it. A check that cannot fail cannot prove anything.

The full step-by-step method is on how to test an AI-generated app. The full, sourced comparison of every builder is on who checks AI-generated code.

Where PeerRun comes in

A second opinion, and its limits

If the same AI that built your app is the one telling you it works, that is not an independent opinion yet. PeerRun is one way to get one. You sign in and bring your project folder. PeerRun opens what you brought in a real browser, tries the journeys that matter, and is allowed to tell you no. Just opening a page is not the same as it passing. We never paint an Unknown green.

That is the honest claim. Here is what this page will not say.

What PeerRun cannot tell you from this article

  • We will not scan a public link from this page, or make up a result for a site you paste in while signed out.
  • Anything behind your sign-in screen stays Unknown until you give us a way in. A login screen is not a pass.
  • If a robot-blocker stops us, that is Blocked, not Broken. We do not have a way around captchas, and we are not going to build one.
  • Any verdict only covers the specific things we actually tested, on a specific version of your app. It never means "the whole app is fine."
  • We are not claiming a one-click GitHub import here. Bring a folder you already have on your computer.
  • We have not measured how often AI-built apps fail overall. One demo screenshot is not a real study, and we will not pretend it is.

Nothing gets checked just by being on this page. Clicking through only tells us you came here to bring a project.

Sources

  1. 01v0 composite model family, Vercel blog, 1 June 2025. RAG, rented frontier base models, AutoFix vercel-autofixer-01.
  2. 02v0 agentic features. Agentic browser visits external URLs for visual reference, not verification.
  3. 03Lovable docs: introduction, publish troubleshooting (“Try to fix”), hosting.
  4. 04WebContainers introduction. In-tab Node runtime. Consequence for Bolt previews.
  5. 05Replit Agent 3 launch and App Testing docs. Browser tests, same agent fixes findings.
  6. 06Base44 quick start: user testing checklist, Act as a user.