Vibe coding

Definition
Vibe coding is building software by describing what is wanted in plain language and letting an AI write the code, staying in the loop to steer and correct rather than typing every line.

Why it matters

It collapses the cost of building an internal tool, a prototype or a small product to roughly the cost of thinking clearly about what is needed. A job that once waited weeks for a contractor can exist by the end of the afternoon.

The catch is that an app nobody understands becomes a liability the moment it breaks. The tool is best treated like a fast junior colleague: capable, quick and eager, but in need of a clear brief, a review and tests. Trusting it blindly is how people end up with software that looks finished and quietly loses data.

How to apply it

  • Write a short spec first, even three sentences, so there is something to check the result against.
  • Describe the data and the states, not only how it should look. "An invoice can be draft, sent or paid" is more useful than "make it clean".
  • Read the changes, at least the parts that handle money, logins or anything sent to a customer.
  • Ask a second pass to look for flaws and risks, not to reassure.
  • Keep a real database and proper sign-in underneath, not something disposable.
  • Keep the project in version control so any bad change can be undone.

What it is

Vibe coding is a way of making software where the human states the goal and an AI coding tool writes the code. The term was popularised by the AI researcher Andrej Karpathy in early 2025, describing a style where you mostly talk to the tool and accept what it produces. A person who has never written code can now describe "a dashboard of open deals by stage" and get a working version the same day.

Common mistakes

  • Accepting code nobody has read. An app that works on the demo data can still lose records or expose them to the wrong person.
  • Starting without a brief. With no spec, there is nothing to check the result against and every screen looks fine.
  • Building on a disposable setup. A prototype with no proper database or sign-in gets used for real work and then cannot be fixed.
  • Letting it grow unreviewed. Each quick addition adds code no one understands, until a small change breaks three things.
  • Putting real customer data in too early. Test with made-up data until the access rules have been checked.
Worked example

Suppose a marketing director with no coding background wants a dashboard of open deals by stage. She describes it in plain language to Cursor, with a three-sentence written spec: a deal is open, won or lost, and each stage shows its total value. Within the afternoon she has a working screen. Before anyone relies on it, a developer reads the parts that handle deal values and access, and the data lives in a real Supabase database rather than a throwaway file. The reviewer finds one place where lost deals are counted as open. The fix takes ten minutes, and the rest of the dashboard stays as it was. The tool gave the speed, and the review made the dashboard safe to use.

Tools in the example

Some links are affiliate links: we may earn a commission at no cost to you. It never decides a ranking. How we work with partners

  1. Article

    Spec-driven development

    The discipline that keeps fast building from drifting.

  2. Article

    Code review

    The check that catches what fast building misses.

  3. Article

    Stub

    Placeholder code an agent often leaves behind.

  4. Article

    Technical debt

    What builds up when the review step is skipped.

Where it shows up

  • Writing copy that feels like conversation instead of marketing. How to sound like yourself.
    12 chapters