THE IMPORTANT DISTINCTION

A convincing demo and a dependable product are different things.

Vibe coding with Claude Code, Cursor, v0 and similar tools has made it possible for non-engineers to turn an idea into a functioning web application at remarkable speed. That is real progress. It removes months of ambiguity and gives customers, investors and collaborators something concrete to react to.

The risk begins when a prototype that was built to prove a concept starts accepting real customer data, payments or business-critical activity without a corresponding change in engineering standards. The interface may look complete while access rules, failure handling, test coverage, deployment controls and operational visibility remain at prototype level.

THE REAL-USERS TEST

Can a vibe-coded app handle real users?

Yes, but the answer depends less on who wrote the first version and more on what has been verified since. A small internal tool has a different risk profile from a product that stores personal information, takes payments or supports multiple organisations.

Before a pilot, you should be able to answer practical questions: Can one customer ever see another customer’s data? What happens when an AI provider or payment service times out? Can a failed release be rolled back? Will you know when a key journey breaks? Can Claude add a feature without changing an unrelated behaviour?

PRODUCTION-READINESS CHECKLIST

Eight foundations to put in place before real users depend on the product.

01

Data protection and access

Check that every sensitive action is verified on the server, every customer can reach only their own data, secrets are kept out of the browser, and database rules enforce the same boundaries as the interface.

02

Automated test coverage

Capture the product behaviour that already matters, then test the critical customer journeys, failure paths and permission boundaries. This is what lets a founder keep changing the product without relying on hope.

03

Staging and safe releases

Create a separate staging environment with its own data and configuration. Add continuous integration and deployment checks so changes are reviewed, tested and promoted deliberately rather than pushed straight into production.

04

Performance under real use

Measure slow database queries, repeated provider calls, oversized browser bundles and long request chains. A demo can feel fast with one user and still fail when several customers arrive at once.

05

Errors, logs and recovery

Make failures visible and useful. Structured logs, health checks, error reporting, backups and a tested rollback path turn production incidents from guesswork into manageable events.

06

Maintainable product foundations

Remove dangerous duplication, clarify ownership between components, document important decisions and replace brittle shortcuts. The goal is not perfect code. It is code that can be understood and safely changed.

07

Dependencies and external services

Review outdated packages, vulnerable dependencies, rate limits, timeouts and assumptions about third-party services. Every external service needs a sensible failure path.

08

An AI delivery harness

Give Claude Code and other coding tools a reliable product map, explicit engineering rules, targeted workflows and checks they must run. This preserves founder speed while raising the standard of every future feature.

REFACTOR OR REWRITE?

Most useful prototypes do not need to be thrown away.

A rewrite should be a conclusion, not a reflex. Good product logic and validated user journeys have value even when the surrounding code is untidy. The first job is to understand what exists, protect the behaviour that matters and identify the small number of risks that genuinely require structural change.

Some duplication, inconsistent naming or imperfect component boundaries can wait. Broken access control, unsafe data rules, missing recovery paths and changes that cannot be tested should not. A disciplined assessment separates cosmetic mess from business risk.

A REALISTIC 6–8 WEEK APPROACH

Move from uncertainty to evidence in deliberate stages.

  1. Map the product and its risks.Follow the important journeys, data flows, permissions and outside services. Establish what is solid, fragile or unknown.
  2. Protect current behaviour.Add tests around working features before changing the foundations beneath them.
  3. Fix the highest-consequence gaps.Prioritise data protection, privacy, correctness, reliability, performance and the customer journeys the pilot will depend on.
  4. Establish staging and controlled delivery.Separate production from pre-release testing and make every change pass the agreed checks before it can go live.
  5. Hand over an AI delivery harness.Encode the product map, rules and checks so founders can continue delivering features with stronger engineering discipline.

PROTOTYPE → PILOT

Founder speed is worth preserving. Hidden risk is not.

Appified helps founders turn TypeScript, React, Next.js, Vercel and Supabase prototypes into products that are ready for real users, then leaves behind the tools needed to keep shipping.