ResearchCode handoff
Reproduced August 5, 2026

AI app builders with code export: four clean handoffs tested

A repository, ZIP, or download button proves almost nothing by itself. Four private samples were checked from a clean handoff through dependency install, production build, declared start path, and browser render. Every sample kept at least one caveat.

4

Current private checkout states

2

Declared production builds passed

2

Local application surfaces rendered

$0

Credits, plans, trials, and test spend

Short answer

Treat code export as a receipt chain, not a feature badge.

A usable handoff needs the generated state, locked dependencies, an exact build, a rendered start path, and reconstructable configuration. Lovable and Bolt passed their declared builds; v0 rendered after a documented webpack deviation; Replit's generated state was absent from the clean remote checkout.

None of the four samples passed every receipt without a caveat. That is a reason to make the caveat explicit, not to label all exports unusable.

Handoff receipts

“Exported code” becomes useful only after six separate checks

01

Generated state present

Did the export contain the application that was actually tested?

Clone the named commit or unpack the archive, then compare the tracked files with the builder preview before calling the handoff complete.

02

Dependency resolution locked

Can the next operator install the same dependency graph?

Require a committed lockfile and use its clean-install command. A successful install from floating ranges is a fresh resolution, not a reproducible receipt.

03

Documented build passes

Does the package's declared build command produce an artifact?

Run the exact script from a clean checkout before adding flags or adapters, and record every deviation separately.

04

Documented start renders

Can the built application render through its declared preview or start path?

Start the built artifact, load it in a real browser, and inspect visible output plus console errors instead of stopping at a successful build.

05

Runtime configuration bounded

Are required environment and platform services reconstructable?

Inventory variable names and external services without publishing values; distinguish a safe template from a tracked environment file or missing configuration.

06

Operator handoff legible

Could another engineer repeat the install, build, and start result?

Provide the commit, commands, expected artifact, known deviation, and remaining platform dependencies as one auditable receipt.

Clean checkout readback

Four exports failed at four different handoff layers

Each result is tied to one private repository and named commit. Dependency installation and local servers ran on August 5, 2026; environment values were never copied into this article.

LovableCheckout 01

Private main at 6183438 contained 86 tracked files and the generated application. The repository also tracked an environment file with six Supabase configuration entries; no values are reproduced here.

Dependency receipt

No npm, pnpm, or Yarn lockfile was committed. npm install resolved current package ranges, so the successful 2026-08-05 build is not proof that a future install will reproduce the same graph.

Build result

npm run build passed and produced a Cloudflare/Nitro .output artifact. The build reported one deprecated server-function API and a client chunk above 500 kB.

Browser start result

npm run preview rendered ERR_MODULE_NOT_FOUND for dist/server/server.js. Starting the generated Worker artifact directly with Wrangler rendered the application without a console error.

Handoff ruling

The source and artifact exist, but the missing lockfile, tracked runtime configuration, and broken declared preview path prevent a clean no-caveat handoff.

BoltCheckout 02

Private main at ddc843d contained 26 tracked files, a package lock, and an environment-variable template. The actual environment file was correctly absent from Git.

Dependency receipt

npm ci installed 149 packages from the committed lockfile, giving this checkout the clearest exact dependency-install receipt in the pass.

Build result

npm run build passed TypeScript and Vite, producing index.html plus CSS and JavaScript assets in dist.

Browser start result

Vite preview served the artifact, but the browser remained blank. The console warned that Supabase variables were missing and then threw supabaseUrl is required.

Handoff ruling

The code is installable and buildable, but the export is not runnable until the receiving operator obtains and verifies the required runtime configuration.

ReplitCheckout 03

Private main at 6ec6eba contained one tracked file: README.md. It had no package manifest, lockfile, generated route, or application source.

Dependency receipt

No dependency installation was possible from the clean GitHub checkout because the generated application state never reached the remote commit.

Build result

No build command existed in the remote checkout. A prior downloaded workspace archive contained generated files, but those files were uncommitted and are not treated as this repository's clean handoff.

Browser start result

No application could start from the tested remote commit. The working hosted preview and the GitHub export therefore remain separate states.

Handoff ruling

Do not accept a connected repository badge as code export evidence; require the generated state to be committed or deliver a versioned archive with an explicit provenance receipt.

v0Checkout 04

Private portability-ledger at 89e5458 contained 20 tracked files, the complete Next.js application, and a package lock while main remained unchanged.

Dependency receipt

npm ci installed 111 packages from the committed lockfile. The generated branch therefore preserved both source state and exact dependency resolution.

Build result

The declared Next 16 Turbopack build hit this host's port-binding restriction even outside the repository sandbox. next build --webpack passed TypeScript and produced nine routes; the deviation remains explicit.

Browser start result

next start rendered the application with no console warning or error. The source still contains hard-coded demo authentication and in-memory records and sessions.

Handoff ruling

This was the strongest source handoff in the pass, but it still needs a documented webpack build deviation and production engineering before launch.

Receipt matrix

A passing build and a usable handoff are not the same result

Lovable

Source

86 files

Lock

Missing

Build

Exact pass

Browser render

Worker path only

Bolt

Source

26 files

Lock

Present

Build

Exact pass

Browser render

Blocked by env

Replit

Source

README only

Lock

Missing

Build

No command

Browser render

No app

v0

Source

20 files

Lock

Present

Build

Webpack pass

Browser render

Rendered

Evidence boundary

A code handoff is not a production-readiness certificate

Source completeness, reproducible execution, secure identity, durable data, and independent operations remain separate proofs.

01

One private checkout per product does not establish behavior for every plan, framework, or future generated project.

02

The Lovable environment values were never copied into the article, evidence pack, logs, or committed Useful Mint source.

03

The v0 Turbopack result is a host-specific build restriction; it is not presented as a product-wide Next.js failure.

04

A rendered local surface does not prove external deployment, secure authentication, durable storage, data export, or rollback.

05

No builder credit, paid plan, trial, affiliate URL, public deployment, or advertising spend was used in this pass.

Test your own export

Ask for the receipt before accepting the handoff

The free checklist separates repository control, clean build, runtime configuration, data recovery, and ongoing operation. It stores no repository name, environment value, or free text.

Method and sources

Clean private checkouts plus first-party workflow documents

Tested claims came from named private commits, fresh dependency installs, production builds, local servers, browser renders, and console readback. Product documents define intended export and GitHub behavior.

No affiliate URL appears on this page. No environment value, credential, or private repository link is published.