Back to BlogAI Features & LLMs

Is Vibe Coding Bad? When It's Fine and When It Will Cost You

Rupak Amin

Founder & Lead Engineer, RAITHub

9 min read

Vibe coding is not bad in itself. It is fine for prototypes, demos, internal tools and testing an idea, where speed matters more than durability. It costs you when the app holds other people's data or money, or must be maintained for years, because generated code that nobody has read fails in ways a demo never shows.

"Vibe coding" here means building software mainly by prompting an AI tool, such as Lovable, Bolt, Cursor or Claude Code, and accepting what it produces without reading the code closely. It is different from a developer using AI as an assistant and reviewing every change. The question is not whether AI should write code. It is whether anyone checks it before customers depend on it.

Why do people say vibe coding is bad?

Because the failures are real, public and expensive, and they cluster in exactly the places a demo does not test: security, edge cases and maintenance.

  • Security. Veracode's 2025 GenAI Code Security Report found that 45% of the AI-generated code samples it tested introduced an OWASP Top 10 vulnerability.
  • Exposed data in real apps. CVE-2025-48757 described Lovable projects whose missing row-level security let anyone read their data with the public key. The researcher's statement counts 170 affected projects out of 1,645 analysed.
  • "Almost right". In the 2025 Stack Overflow Developer Survey, 66% of developers named AI solutions that are almost right, but not quite, as their top frustration, and 45.2% said debugging AI-generated code takes more time than expected.
  • Speed is not guaranteed. In a 2025 METR study, 16 experienced open-source developers working on 246 tasks in their own repositories took 19% longer with early-2025 AI tools, although they had expected a 24% speed-up. That study measured experienced developers on mature codebases, not founders building a first prototype, so read it as a warning about assumptions rather than a verdict on vibe coding.

None of this says the tools are useless. It says the output needs checking in proportion to what is at stake.

When is vibe coding fine for a startup?

When the cost of the code being wrong is small, or when nobody is relying on it yet. In those cases speed is the right thing to buy.

  • Validating an idea. A clickable prototype you show to twenty potential customers is worth more than a well-engineered product nobody wants. If it is thrown away later, nothing was lost.
  • Demos and investor walk-throughs, with fake or sample data.
  • Landing pages and marketing sites with no logins and no stored personal data.
  • Internal tools for a few trusted colleagues, with no customer data and an easy manual fallback.
  • Learning and exploring: trying a library, sketching a data model, or seeing how a feature might feel before specifying it properly.
  • One-off scripts you will read before running, such as a data clean-up or a report.

The common thread is that a failure is visible, cheap and reversible. If the prototype breaks in front of a user, you learn something; nobody's data leaks.

When does vibe coding cost you?

When real people's data, money or trust depend on code nobody has reviewed, or when the code has to live and change for years.

  • Accounts and personal data. The moment users sign up, access control has to be right on every table and every endpoint. A missing rule is invisible in normal use and obvious to anyone who looks.
  • Payments. Webhooks, retries, refunds and subscription states have edge cases a happy-path demo never triggers.
  • Several customers in one system. A multi-tenant app must never show one customer another's records. That is a design property, not something a prompt adds later.
  • Regulated or sensitive data, such as health or financial records, where a leak has legal consequences.
  • Long-lived products. Each prompt-driven change is made without a map of the whole system. After months of this, nobody, human or AI, can safely change one part without breaking another.
  • Due diligence. A buyer, investor or enterprise customer may ask for a security review, tests and a clear account of who owns the code.

The cost is rarely the first version. It is the rework: finding the leaks, rebuilding the data model, and adding tests after the fact, while customers are already using the system.

So is it good or bad? A decision table

Use this to decide how much checking your situation needs. It is engineering guidance, not a rule.

SituationVibe coding verdictWhat to add before going further
Testing an idea with sample dataFineNothing yet; keep it cheap and disposable
Marketing site, no loginsFineCheck forms, redirects and that no keys sit in the page source
Internal tool, few trusted users, no customer dataUsually fineOwned accounts, backups, basic access control
Early users signing up with real emailsRisky without reviewRow-level security, secrets on the server, a second-user test
Taking paymentsCostly without reviewTests on the payment path, webhook handling, idempotency
Several business customers in one appCostly without reviewTenant isolation designed and tested, not prompted
Health, finance or other regulated dataNot on its ownA proper security review and an engineer who owns the system

What does it cost to fix a vibe-coded app later?

It depends on how far the app has drifted, and it is usually less than a rewrite. Most prototypes need hardening, not replacement. The work falls into a predictable order, which RAITHub sets out in a 30-day hardening plan: freeze and back up, fix security, add tests and CI on the money paths, then logging, backups and load.

Three things push the cost up: personal or payment data already in the system, a data model that mixes customers together, and no one who can say what the app is supposed to do in each case. Three things keep it down: a repository you own, a working deploy from a clean clone, and a short list of the workflows that must never break. If you want a rough number for a rebuild instead, the MVP cost estimator gives a range to compare against.

How can you keep vibe coding without it costing you?

Keep the speed, and add a small number of checks that catch what the tools miss. These are cheap compared with the rework they prevent.

  1. Own everything. Repository, hosting, database and domain in your company's name. See what to do after exporting Lovable code to GitHub.
  2. Lock down the data first. Turn on row-level security for every table and test it with a second account. See fixing "RLS disabled in public".
  3. Keep secrets off the client. Service keys belong in server code or edge functions only. See Lovable exposing API keys.
  4. Write tests for the paths that matter: sign-up, login, the core workflow and payment. Make them block a merge.
  5. Read the diff for anything touching data or money, even if you read nothing else.
  6. Run a launch gate. The vibe-coded app security checklist has 20 pass/fail checks; making a vibe-coded app production-ready covers the rest.

Why RAITHub for this?

Because RAITHub's work starts where vibe coding stops: reading the generated code, closing the gaps and leaving tests behind so they stay closed. RAITHub builds and fixes Next.js, TypeScript and PostgreSQL systems QA-first. Sundor Skin, a B2B wholesale platform, runs 146 PostgreSQL tables with row-level security and 530+ tests; this website has 400+ tests and published write-ups of real bugs it caught. You get a fixed-scope quote after a free 15-minute technical audit, you own the IP, and an NDA is standard. See the code rescue service for inherited or AI-generated code, or MVP development if you would rather build the production version properly from the prototype's lessons.

When don't you need RAITHub?

  • You are still validating. Keep prompting, keep talking to users, and spend nothing on engineering until someone wants the product.
  • The app holds no personal data and takes no payments. A marketing site or a small internal tool rarely needs an outside review.
  • You already have an engineer who reviews changes and runs tests in CI. They can apply the checklist above.
  • You want to decide between tools or no-code first. Read no-code vs custom development before paying anyone.

Last reviewed: 29 September 2026.

If your vibe-coded app has real users coming, or already has them, ask RAITHub for a code rescue review. The free 15-minute audit tells you which of the risks above apply, and you get a fixed written quote for the fixes.

Frequently asked questions

Is vibe coding bad for startups?

Not by default. It is a sensible trade while you validate an idea with sample data. It becomes costly once real users' data or payments depend on code nobody has reviewed, because the gaps are in security and edge cases a demo never tests.

Is vibe-coded code secure?

Not reliably without review. Veracode found 45% of AI-generated code samples it tested introduced an OWASP Top 10 vulnerability, and CVE-2025-48757 showed real Lovable apps exposing data through missing row-level security. Check access control and secrets before launch.

Should I rewrite my vibe-coded app?

Usually not. Most prototypes need hardening: security fixes, tests on key workflows, migrations and monitoring. A rewrite makes sense when the data model mixes customers together or nobody can describe what the app should do.

Does vibe coding make development faster?

For a first prototype, often yes. For experienced developers on mature codebases, not necessarily: a 2025 METR study found such developers took 19% longer with early-2025 AI tools, against an expected 24% speed-up.

Can a non-technical founder launch a vibe-coded app?

For a prototype or a marketing site, yes. Before real sign-ups or payments, get the access control, secrets and key workflows reviewed by an engineer, and use a checklist such as RAITHub's 20-check security list.

What is the difference between vibe coding and AI-assisted coding?

Vibe coding accepts AI output largely unread. AI-assisted coding uses the same tools, but a developer reads and tests each change before it merges. The tools can be identical; the review is the difference.

is vibe coding badvibe codingvibe coding startupsAI-generated codetechnical debtMVPcode quality

Ready to discuss your project?

Book a free 15-minute technical audit with our engineering team.