I've written before about the AI-generated MVP that fell apart in production. People took it as "don't vibe code." That's the wrong lesson, and I want to correct it, because the opposite mistake is just as expensive.
Sometimes the AI-generated version is the right thing to ship. Not a compromise — the correct, grown-up business decision. The skill isn't avoiding vibe coding. It's knowing which side of the line you're standing on.
What "vibe coding" actually buys you
Vibe coding — describing what you want to a tool like Cursor, Claude, Lovable, or Bolt and letting it generate a working app — is genuinely remarkable. In an afternoon, a non-technical founder can have something real on a screen. That used to take weeks and a developer. The instinct to dismiss it as "toy software" is ego, not analysis.
What it buys you is speed to a real conversation. A clickable thing that does one job is worth a hundred slide decks. The question is never "is this code good?" The question is "is good code what this moment requires?"
Ship the AI version when…
- You're still proving people want it. If you haven't validated demand, code quality is irrelevant — you might throw all of it away next week, and that's a feature, not a bug.
- The blast radius is small. Ten friendly beta users, no payments, no sensitive data, no legal exposure. If the worst case is "it's a bit janky and someone emails me," ship it.
- It's an internal tool or a demo. Software that only you or your team touches doesn't need to survive a thousand strangers. Optimize for "works today," not "works at scale."
- You can throw it away without grief. The healthiest way to treat a vibe-coded MVP is as an expensive, interactive prototype. If you've mentally pre-committed to rebuilding the parts that survive, you're safe.
Rebuild before you ship when…
- Real money or real data flows through it. The moment you take payments, store health records, or handle anything you'd hate to leak, the AI's cheerful defaults become liabilities. This is exactly where the failures I see cluster — no auth security, no error handling, hardcoded keys.
- You're about to pour marketing into it. Driving a thousand users to a foundation that cracks at fifty is how you turn a launch into a refund queue.
- Other people will build on top of it. The first developer who inherits a tangled AI codebase will spend more time understanding it than rewriting it would have cost.
The honest framework
Ask one question: "If this breaks in front of a real customer next month, what does it cost me?" If the answer is "an apology," vibe code it and move. If the answer is "money, trust, or a lawsuit," the AI version is a prototype, not a product — treat it that way and budget for the rebuild before you scale.
The founders who get burned aren't the ones who vibe coded. They're the ones who forgot they had — who let a weekend prototype quietly become the thing processing real invoices, because it was working and nobody made the call to draw the line. The AI didn't fail them. The missing decision did.
Vibe coding is a fantastic way to find out if you should build. It's a dangerous way to decide you're done. Know which one you're doing.
Not sure whether what you've got is a demo or a product? That's a 20-minute conversation, and it's the cheapest insurance you'll ever buy. If you want a senior read on your prototype before you point customers at it, here's how I think about getting it right — send me what you've built.


