AI & tooling

How do I vibe code?

By Jake Luo · Published Jul 22, 2026

Vibe coding means describing what you want in plain language and letting an AI model write the code while you steer, review and test it. The loop that works is small and repeatable: write a one-paragraph spec before you prompt, build one slice at a time, commit whenever something works, read every line that touches logins, payments or customer data, and try the result as a stranger would before calling it done. The skill is not prompting — it is being specific about what you want and honest about checking what you got.

What vibe coding actually asks of you

Vibe coding sounds like the absence of method, which is exactly why it goes wrong for so many people. Letting a model write the code removes the syntax problem, but it does not remove the two jobs that were always the hard part: saying precisely what should happen, and checking that it did. Your effort moves rather than disappears — from typing code to specifying and reviewing it. For where the term came from, see vibe coding.

This is why two founders using the identical tool get wildly different results. The one who opens with "build me a marketplace" gets a demo that collapses on the second feature. The one who opens with a paragraph naming the user, the data and the single thing version one must do gets something worth building on. Tool choice matters less than most comparisons suggest — the best vibe coding tools covers how the families differ — because the loop below is the same whichever one you pick.

The loop, step by step

  1. Write the spec before the prompt — one paragraph: who uses this, what it must do, what data it stores, and what it explicitly will not do in version one. Ten minutes here prevents the rebuild that happens when the model guesses at everything you left unsaid.
  2. Build one slice at a time — ask for the smallest thing that runs end to end, confirm it actually runs, then extend it. A single huge prompt produces a large surface area you have no realistic way to review.
  3. Commit every time something works — version control is the undo button for generative work. When the next change breaks three things at once, a known-good commit is the only reliable way back, and it costs one command to make.
  4. Read the risky lines yourself — logins, payments, anything touching customer data, and anything that deletes. A model writes plausible code and will not tell you which check it skipped, so those paths get read line by line even when the rest does not.
  5. Test it as a stranger — click through as a first-time user: wrong inputs, empty states, the back button, a second account. Generated apps are usually correct on the path the prompt described and thin everywhere else.
  6. Keep a change log — ask the model to summarise what it changed and why after each slice, and keep that text with the project. It is the cheapest defence against a codebase you can no longer explain to anyone, including yourself.

Where it breaks

The failure modes are consistent across tools, and none of them is really about the model being bad at code:

  • Silent assumptions — the model builds what you asked for, not what you meant. Everything you left unstated gets filled in with something plausible, and you discover the gap when a real user hits it.
  • Working things that quietly stop working — generated edits reach further than they appear to. If you cannot run the whole thing after each change, you will not notice what the last change broke until much later.
  • Security you never chose — default access rules, over-permissive database policies and keys committed where they should not be are common in generated apps, and nothing warns you. Check those before launch, not after.
  • The last twenty percent — the first eighty arrives in an afternoon; the rest is where the model needs you to genuinely understand the system. Either budget for that stretch or scope version one so it does not have one.

What happens after it works

Finishing the loop gets you working software that nobody knows exists, which is now the standard founder situation: building got dramatically cheaper and distribution did not. Before you build more, decide what version one is actually for — that is the whole point of a minimum viable product — and when it works, the next question is how to market a vibe-coded app.

First-party note from building AgentCeres — the AI Growth Officer at agentceres.com: most of our code and marketing pages are AI-drafted and human-reviewed, and the most expensive class of mistake was never bad code. It was work that quietly disappeared. Two changes generated in parallel, each one correct and passing every check against the starting point it was written against, and broken the moment they were combined — because nobody re-ran the checks on the combined result. If you take one habit from this page, take that one: small slices, and verify the thing you actually shipped rather than the piece you just generated.

FAQ

What should my first prompt look like?
Not "build me an app". Give the model a short brief: who the user is, the one job the first version does, what data it needs to store, which technologies you want it to use if you have a preference, and what it should deliberately leave out for now. Then ask for the smallest runnable version of that. A brief of four or five sentences consistently outperforms a long feature wishlist, because it constrains the choices the model would otherwise make for you silently.
How do I stop the AI from breaking code that already worked?
Commit after every working change, keep each request narrow, and run the app yourself after each one rather than trusting the summary of what changed. If the project matters, ask the model to write a handful of tests for the paths you care about most and run them before every commit. Regression is the defining risk of generated code: the model has no memory of what was fragile last week, so the checks have to live in the project, not in the conversation.
When should I stop vibe coding and bring in a developer?
When the answer to "why did it do that?" stops being findable in a reasonable amount of time, or when the thing is handling other people's money or personal data at any real scale. Those are the two honest thresholds. Vibe coding is excellent for finding out whether an idea is worth building and often fine for internal tools and simple products; it becomes a liability the moment nobody involved can debug the system under pressure.
Related questions
What are the best vibe coding tools?What's the best way to market a vibe-coded app?How do I market a developer tool?How do I get my first 100 users for my SaaS?

Want this done for you?

AgentCeres is a managed AI marketing team — specialists draft the work, you approve what ships. 14-day free trial, from $19/month.

Start free trialMore answers