Building · October 8, 2026 · 2 min read

From vibe-coded MVP to production: what actually needs to change

A prototype has one job: prove the idea. A production app has a different job: keep working when you're asleep, when traffic spikes and when users do things you never imagined. The code that does the first job rarely does the second.

The good news is that the gap is smaller than most people fear. You almost never need a rewrite. You need a handful of foundations.

Separate where you build from where users live

If you test changes on the same database your users use, one bad prompt can wipe real data. Production needs its own database and environment, with a staging copy where changes are tried first. Most hosts make this a few clicks.

Know when something breaks

Prototypes fail silently. Add error tracking (Sentry or similar) and uptime monitoring so you hear about problems before your users email you. Log enough to reconstruct what happened, and never log passwords or tokens.

Make the data trustworthy

  • Row-level security or server-side checks on every table.
  • Database constraints, so bad data is rejected instead of stored.
  • Migrations kept in the repository, so the schema can be rebuilt from scratch.
  • Daily backups, with a restore you've actually tested.

Get money right

Payments are where shortcuts get expensive. Grant access from verified webhooks, handle failed renewals and refunds, and store which plan each user is on in your own database, not only in Stripe.

Remove the slow parts

AI-generated code often fetches far more than it needs, or calls the database once per item in a list. A few indexes and batched queries can make an app feel ten times faster and cut hosting bills.

What you can leave alone

Imperfect folder structure, duplicated components, a styling system that isn't textbook. None of that hurts users. Fix it when you're working in that area anyway, not before launch.

A Tech Check tells you exactly which of these your app needs, in priority order, with a fixed price to close the gap.

Keep reading

Want a second pair of eyes on your app?

Book a Tech Check