Principle
Vibe prototyping tools are learning accelerators, not ownership layers. They help you find shape fast. They punish you if you mistake generated UI for a billable, testable, multi-engineer product.
Most teams switch too early (editing build config while still guessing the problem) or too late (the Lovable app is the product — except it cannot bill, test, or survive a second engineer).
The decision
DEC_003
Idea
│
▼
Vibe prototype ──(learn)──► still guessing? ──yes──► stay
│ │
│ no
│ ▼
└──────────────────► own codebase + tests + deployWorkflow
- Time-box the prototype (days, not months). Name what you are trying to falsify.
- Record the workflow as a checklist, not a screen recording.
- When a limitation appears, write it down before switching tools — that note becomes the first engineering ticket.
- Migrate vertically: auth → data → payments → polish. Not “rewrite everything because AI said so.”
- Keep the prototype URL as a tombstone — what you learned, not what you ship.
Tooling
Lovable, Bolt, v0, Figma Make — same decision framework. Pick whichever gets you to the three exit criteria fastest. None of them are the destination.
Common mistakes
- Shipping the prototype because stakeholders saw a polished demo.
- Rewriting from scratch without carrying forward the decisions the prototype validated.
- Waiting for “one more feature” in no-code because coding feels heavy — that is often fear of ownership, not product sense.
Scenario (composite)
A founder built a client portal in a vibe tool in four days — impressive demo, one design-agency pilot user. After three weeks the pilot ran onboarding eight times (good signal) but hit: no role separation for junior staff, no invoice webhook, export blocked by the tool’s row limits.
They stayed in vibe one more week to confirm the workflow checklist, then migrated vertically: auth first, Postgres schema second, Stripe third. The vibe URL stayed live with a tombstone note. Total migration took twelve days; they did not rewrite screens that were not on the ten-run path.
Artifacts
templates/migration-checklist.md— data model, auth, billing, observability, CI — tick before cutover.
Falsify this
- You have zero paying or committed users but “the UI is done” — that is shape learning, not exit criteria.
- You have run the workflow twice on the happy path — ten real runs still matter.
- You are migrating because coding feels virtuous, not because a hard limitation blocked the next experiment.
- The prototype handles billing in a hack — you postponed ownership because migration is scary.
- Second engineer onboarding fails immediately — you left too late without tests or deploy docs.
Further reading
- Chapter 00 — Principles (decisions outlive tools)
- Chapter 01 — Mindset (product vs engineering risk)