Post your build ideas
LocalASO Track App Store keyword ranks in every countryFind your vibe. Find you job which is just for you and your dataDealtab Brand Deal Tracker That Does The Work For YouIs Major Cooked? Free AI risk score + roast for your college majorWiral.Social LinkedIn, Scheduler, Scheduling Tool, Ghostwriter
Solo Era solo activities, solo maxxing, sidequests, challengeCadentiq daily routine, wellbeing, self care, healthy habitsTexeva Your businessKeepsake Project Management, Freelancers, DesignersOrvyx AI You create

How to vibe code: a step-by-step walkthrough with a worked example

To vibe code, pick one AI builder or coding agent, describe a single-screen app in plain language with a list of what not to build, run the result, and fix it with small follow-up requests. Test with inputs whose answers you know, save a working version before every change, and stop adding features once it does the one job. Most first projects take an afternoon.

What do you need before you start vibe coding?

You need three things: a tool, a project small enough to describe on one screen, and a way to tell whether the result is right. You do not need to know a programming language. If the term is new to you, read what vibe coding is first; this page is the hands-on part.

The third item is the one beginners skip. An AI tool will happily build the wrong thing and show you a polished screen. The only protection is knowing in advance what a correct result looks like, ideally as a handful of inputs and the answers you expect.

Step 1: Which tool should you pick?

Choose by how much setup you will tolerate, not by which tool is most talked about. A browser builder gives you a live preview in minutes. A coding agent gives you real files on your machine and more control, and asks more of you.

Picking a tool for your first vibe coding project
If you wantStart withWhy
A live app with nothing to installLovable, Bolt, Replit or Base44They generate, preview and publish in the browser; Bolt and Base44 document built-in databases and hosting
A user interface to look at firstv0It generates interface code, deploys with one click on Vercel, or opens a pull request for review
Files on your own computerCursor or Claude CodeYou own the project folder and can switch tools later
To use Google's Gemini models in a browserGoogle AI Studio, Build modeGoogle documents it as a place to vibe code and deploy apps

Features, plans and limits change often, so check each tool's own page before paying: Lovable, Bolt, Replit, Cursor, Claude Code. The full comparison is in best vibe coding tools.

Step 2: How do you write the spec before the first prompt?

Write five lines in a note before you open the tool. Your spec is the difference between a result you can check and one you have to squint at.

  1. User. One specific person and the moment they use it.
  2. Screen. What is on the page, in plain words.
  3. Behavior. What happens when they act, with one example that has real numbers.
  4. Not building. The features you are leaving out on purpose.
  5. Done when. The check you will run, written as input and expected output.

Our worked example is a small tool for splitting a group bill. Three friends, Ana, Ben and Cy, share a trip. Ana paid 90, Ben paid 30 and Cy paid nothing. The total is 120, so each share is 40. Ana paid 50 more than her share and is owed 50. Ben paid 10 less than his share, so he owes 10. Cy owes the full 40. The tool should say: Cy pays Ana 40, and Ben pays Ana 10. That one example is the test for the whole project.

Spec for the worked example
User: a friend who is tracking who owes what after a group trip.
Screen: a list of people with a "paid" amount each, an add-person button, and a results panel.
Behavior: the results panel lists who pays whom, using the fewest payments.
  Example: Ana paid 90, Ben paid 30, Cy paid 0 -> Cy pays Ana 40, Ben pays Ana 10.
Not building: accounts, saving to a server, currencies, receipts, sharing links.
Done when: the example above gives exactly those two payments, and two people who paid equal amounts give "nobody owes anything".

Step 3: What should the first prompt look like?

Paste the spec and add two instructions: ask before assuming, and keep it to one page. Tools that are told only what to build tend to keep adding. Tools told what to leave out stop sooner.

First prompt for the worked example
Build a single-page web app that splits a group bill, using the spec below.

[paste your five-line spec]

Rules:
- Keep everything on one page and in the browser. No login, no server, no database.
- Show the result as plain sentences, such as "Cy pays Ana 40".
- Use whole numbers or two decimal places; round cleanly.
- If something in the spec is unclear, ask me before building.
- When you finish, tell me how to run it and what you assumed.

If you use a coding agent rather than a browser builder, ask it to propose a plan before it writes files. Claude Code has a plan mode for this; see the Claude Code overview for current features. For a deeper method, read how to write an app build prompt.

Step 4: How do you test what the AI built?

Do not judge by whether it looks right. Judge by whether it gives the right answer. Run your known example first. Then try the inputs most likely to break it.

Test cases for the bill splitter
InputExpected resultWhat it catches
Ana 90, Ben 30, Cy 0Cy pays Ana 40; Ben pays Ana 10Wrong share arithmetic
Everyone paid 40Nobody owes anythingPointless zero-value payments
One person onlyA sensible message, no crashDivision by zero
Amounts of 10.10, 20.20 and 0Shares of 10.10 and the results rounded to two decimalsFloating-point rounding errors
Empty name or blank amountA clear message, no broken screenMissing input checks
Reload the pageYou know whether data stays or resets, as the spec saidSilent state loss

Write down any case that fails. Send them one at a time, quoting the input and the result you got. Compare “It is broken” with “With Ana 90, Ben 30, Cy 0 it shows Cy pays Ben 40. It should show Cy pays Ana 40.” The second gets fixed on the first try far more often.

Step 5: How do you ask for changes without breaking things?

Ask for one change per message, and say what must not change. The most common cause of a spiral, where each fix breaks something else, is a request that touches too much.

  • Name the thing and the behavior. “In the results panel, show each payment on its own line.”
  • Fence it. “Do not change how the shares are calculated.”
  • Paste errors whole. Copy the full error text from the browser console or terminal, with no summary.
  • Ask for an explanation when stuck. “Explain in plain English why the rounding is wrong before you change anything.”
  • Restart the thread when it drifts. After a long run of failed fixes, open a new session with the spec and the current code, and ask it to find the cause fresh.
A bug report that gets fixed
Bug: [what you did] -> [what happened].
Expected: [what should happen, with the exact numbers].
To reproduce: [the input].
Error text (if any): [paste the full message].
Constraint: fix only this. Do not change [the parts that work].
Before you edit, tell me in two sentences what you think the cause is.

Step 6: How do you save progress and undo mistakes?

Save a known-good version before every larger change. That is the single habit that separates calm vibe coding from lost afternoons. Browser builders keep a history you can restore. If you work in a folder on your machine, use Git.

Git in four commands, from the project folder
git init
git add -A
git commit -m "working: bill splitter passes the Ana/Ben/Cy test"

# before a risky change, work on a branch:
git switch -c add-currency

# if it goes wrong, go back to the last good commit:
git switch main

Commit when your test cases pass, not when the tool says it is finished. If you cannot use Git yet, copy the project folder with a dated name before each big change. The point is a way back.

Step 7: What should you check before you publish?

Before anyone else uses it, ask the tool a few questions and read the answers. You are not reviewing code line by line; you are checking the three things that go wrong most.

  1. Where are the secrets? “List every API key or secret this project uses and where each one is stored. Which ones are visible in the browser?” Any key that is visible should not be a secret one.
  2. Who can read and write the data? If there is a database, ask what stops one user seeing another's rows, then test it with two accounts. For Supabase, that means row-level security on every table (Supabase docs).
  3. What happens with bad input? Type nonsense, very long text and empty fields, and check nothing crashes or leaks an error trace.

If your project has accounts, payments or personal data, read vibe coding security before you publish, and have someone who reads code look at the parts that handle money. For a no-account tool like the bill splitter, the checklist is short.

Step 8: How do you publish it, and when should you stop?

Browser builders publish to a web address from a button. If you built on your machine, a static page can be hosted free; see how to host a website for free. Send the link to two people and watch one of them use it without helping. What they get stuck on is your next change.

Stop adding features when the tool does the one job in the spec. The urge to add accounts, sharing and a settings page is strong because the tool makes each addition feel cheap. Each one adds code you have not read. Finish the first version, use it for a week, and add only what you missed.

If you have an idea but would rather not build it yourself, post it on the board. Every idea there comes with a generated build prompt that someone can paste into a tool. And if you want something to build, browse the ideas, pick a small one and run this process on it.

What are the most common vibe coding mistakes?

Mistakes and their fixes
MistakeWhy it hurtsFix
Starting with a big ideaThe tool builds a shallow version of everythingBuild the one core action first
No expected answersYou cannot tell wrong from rightWrite one worked example before prompting
Stacking five changes in one messageYou cannot tell which one broke itOne change per message
No saved versionsA bad fix costs you the whole afternoonCommit or copy after each passing test
Pasting a secret key into the pageEvery visitor can read itKeep keys on the server
Believing the summaryThe tool says “done” about things it did not doRun the test cases yourself

For habits that matter once a project grows, see vibe coding best practices. If you want more reusable wording, vibe coding prompts has a set of templates.

Frequently asked questions

How do you start vibe coding?

Pick one tool, write a five-line spec for a one-screen app, and send it as your first prompt. Run the result, test it with an example whose answer you already know, and ask for fixes one at a time. Save a working version before each change. A small tool should take an afternoon.

Do you need to know how to code to vibe code?

No, but you need to know how to check results. Pick a project where you can write the correct answer for a few inputs. You will not be able to review the code, so tests with known answers are your safety net. Avoid projects that handle money or private data until you can get the code reviewed.

What is a good first vibe coding project?

Something with one user, one screen and one job, no login and no payments. A bill splitter, a workout timer, a decision picker or a small game all fit. They are easy to test by hand and cost little if the tool gets them wrong. Move to a database or sign-in only after that works.

How long does it take to vibe code an app?

A one-screen tool usually takes an afternoon, including testing. Anything with accounts, a database or outside services takes longer, mostly in testing and fixing what the tool got wrong, not in generating code. Plan for several rounds of small fixes, not one perfect prompt.

What do you do when the AI keeps breaking your app?

Stop sending fixes on top of fixes. Restore the last working version, then restate the goal in a fresh session with your spec. Ask the tool to explain the cause in plain English before it edits anything. Request one change at a time, and say which parts must not change.

Is there a vibe coding tutorial for complete beginners?

Yes, the steps on this page work for beginners: tool, spec, first prompt, test, small fixes, saved versions, checks, publish. For a gentler path with the first week laid out, see the vibe coding for beginners guide on this site, which covers safe first projects and what to avoid.

Created with AI assistance and edited for this site. Examples are illustrative and do not represent customer research. About the publisher.