Skip to main content

Shared intent · Harden or rewrite

MVP Hardening After Vibe Coding

Teams often ask whether a vibe-coded MVP should be hardened or thrown away. The honest answer lives in the risk profile, not the origin story. This page is the test: keep what you can own, rewrite what you cannot prove.

30 min · senior team · leave with a clear next step

Citation-ready answer

Answer you can cite

MVP hardening is the evidence-led decision to keep a vibe-coded codebase and make its highest-risk flows ownable — access, recovery, delivery — instead of discarding the prototype on principle. Harden when the domain is understandable and tests can wrap it. Rewrite a slice when trust boundaries cannot be proven. Pride about origin is not a risk register.

The decision

Harden when you can own it; rewrite when you cannot prove it

A rewrite is not automatically safer. It can discard hard-won domain knowledge and introduce fresh defects. Use evidence.

  • Harden when the model is understandable

    Data ownership is recoverable, tests can wrap important behavior, dependencies are supportable, and deployment can be made reproducible.

  • Rewrite a slice when trust is entangled

    You cannot establish who can access data, secrets are irretrievably mixed, or there is no test seam that can prove the path safe.

  • Destructive migrations are a tell

    If proving safety requires unsafe destructive changes, the cost of a bounded rebuild is often the cheaper proof.

  • Keep the product available

    A strangler path puts a stable interface around a risky subsystem, migrates one capability, and measures the result.

How we run it

Replace uncertainty one slice at a time

The goal is not to erase that a model helped write the first version. The goal is a codebase and operating model a team can own.

01

Risk register before a mood-board rebuild

List the journeys that take money, personal data, or admin power. Those slices go first. Cosmetic debt waits.

02

Tests around the load-bearing behavior

Authorization failures, integrity, migrations, and the primary integration. A large test count is not a substitute for the right boundary.

03

Delivery and recovery on the kept code

A versioned artifact, a staging environment, and a restore rehearsal. Hardening that cannot ship or recover is theater.

04

A written no

If the honest next step is a bounded rewrite, we say so before a retainer starts. If it is keep-and-wrap, we say that too.

How to

Decide whether to harden or rewrite a vibe-coded MVP

Use the risk profile, not the origin story. Preserve user-visible behavior while you replace uncertainty.

  1. Step 01

    Write the risk register

    List journeys that move money, personal data, invitations, or admin actions. Mark what you cannot currently explain.

  2. Step 02

    Test whether access can be established

    If you cannot say who can read or write a given record — including by guessing an ID — treat that slice as rewrite-or-wrap, not polish.

  3. Step 03

    Find a test seam

    If important behavior cannot be wrapped with checks, proving safety may cost more than rebuilding the bounded surface.

  4. Step 04

    Choose strangler over big-bang when the product must stay up

    Put a stable interface around the risky subsystem, migrate one capability, measure, and preserve data deliberately.

  5. Step 05

    Assign owners to remaining unknowns

    Every unexplained control gets a name and a date. A generic hardening score with no owners is not a decision.

Before you book

Practical answers

Prefer writing? Send project details and we reply within one business day.

How do I decide harden versus rewrite after a vibe-coded MVP?

From evidence. Harden when the domain is understandable, data ownership is recoverable, and tests can wrap the important paths. Rewrite a component when access cannot be established, secrets are entangled, or proving safety costs more than a bounded rebuild.

What does a strangler slice look like on a generated codebase?

Keep the product available. Put a stable interface around one risky capability — billing, invites, file access — migrate that capability, and measure. Do not pause the business for a pride rewrite of screens that already work.

When is a full rewrite the cheaper proof of safety?

When there is no reliable test seam, when trust boundaries cannot be mapped, or when the data model would require unsafe destructive changes. Even then, rewrite the smallest surface that removes the risk.

Does hardening freeze new features?

It freezes unreviewed expansion on the risky paths until owners and controls exist. Features that do not touch money, identity, or tenant data can often continue. The freeze is a boundary, not a personality.

Score the MVP by what you can prove.

Bring the journeys that take money or personal data. In thirty minutes we will name the first slice — harden, wrap, or rebuild.

Prefer writing? Send project details on the contact page.