How to vibe code.
To vibe code: get your idea down to one sentence, pick one AI tool, ask for the smallest version that works, then add one feature at a time, testing after every change. When something breaks, paste the whole error back. When it works, put it on the internet.
Three things, and none of them are skills.
You need less than people think. If you are wondering whether you are ready, this is the entire list.
That is the hardware. You do not need a powerful machine, because the AI does the work on its own computers, not yours.
Claude, Cursor, Lovable, or Replit. Any one of them. Free tiers are enough to find out whether you like this before you pay for anything.
Not a business plan. One thing that does one job. The smaller it is, the faster you finish, and finishing is the part that teaches you.
New to all of this and want the gentler version first? Start with vibe coding for beginners. If you are not sure what the term even means, read what is vibe coding first.
Seven steps. Follow them in order.
This is the loop we teach every week, and the order matters more than any individual step. Most people who get stuck jumped straight to step four.
Get the idea down to one sentence
20 minutesBefore you open any tool, write one sentence describing what the thing does and who it is for. If you cannot fit it in a sentence, the idea is still too big. This is the step people skip, and skipping it is why most first builds fall apart.
A social network for dog owners with profiles, messaging, events, a marketplace, and a mobile app.
A page where dog owners in my neighbourhood can post a walk they are going on, so other people can join.
Pick one tool and stay in it
10 minutesChoose a single AI tool that can write and run code, such as Claude, Cursor, Lovable, or Replit. Learning one properly beats sampling four. You can always switch later, but switching mid-build means starting over.
Ask for the smallest version that works
5 minutesDescribe the simplest version of your idea that would still be useful, and ask for only that. Not the version with accounts, payments, and a dark mode. The version with one screen that does one thing.
Build the simplest working version of this: a page where someone types a book title and gets back a short summary. One screen, no accounts, no database yet. I will add more after I see it working.
Build one piece at a time
The main loopAdd one feature per message. Ask for a change, look at the result, then ask for the next change. Requesting five things at once means that when something breaks, you have no idea which of the five caused it.
A good rhythm is: ask, look, ask, look. If your message has the word “and” in it three times, split it into three messages.
Run it after every single change
Every timeClick the thing. Type in the box. Submit the form. Do not take the AI's word that a change worked, because it will tell you it worked either way. Ten seconds of checking now saves an hour of confusion later.
When it breaks, paste the whole error back
As neededCopy the entire error message, including the parts that look like gibberish, and paste it back with what you were doing when it happened. You do not need to understand the error. The AI does. Do not paraphrase it.
I clicked "Save" and got this error. Here is the whole thing: [paste the entire error, every line] It worked before I added the date field.
Put it on the internet
30 minutesAsk your tool to deploy the project so it has a real web address. A thing that only runs on your screen is not finished. Deploy it while it is still rough, then keep improving it at a live link.
The rules that actually change your results.
There is a lot of nonsense written about prompting. Most of it does not matter. These six things do.
Say "when someone submits the form, email it to me" rather than trying to guess what technology should do it. You are the one who knows what it should do. It is the one who knows how.
Telling it "I do not care how it looks yet, just make it work" saves you an entire round of polish on something you are about to change anyway.
This is the single highest-value habit in this whole guide. When five changes arrive together and something breaks, you have five suspects and no way to narrow them down.
Not "it says something about undefined." The whole message, pasted in. The ugly parts are the useful parts.
Giant elaborate prompts with roleplay and threats do not help. Clear, plain, specific instructions do. Write it the way you would explain it to a competent person who cannot see your screen.
AI tools love to add things you did not ask for. "Change only the header, leave everything else exactly as it is" is a sentence worth keeping on hand.
A clear idea beats a long prompt.
Twenty minutes spent getting the idea sharp will save you four hours of prompting. People go looking for a magic prompt when what they actually have is a fuzzy idea. No prompt fixes that.
It will break. Here is what to do.
Everyone hits these. Hitting them does not mean you are bad at this. It means you are doing it.
It keeps failing the same way
Start a new conversation. When a chat has looped a few times, the failed attempts are still sitting in its memory and it keeps reaching for them. Open a fresh chat, describe where the project stands, paste the error, and ask again. This works more often than anything else on this list.
It changed things you did not ask it to
Say so directly and be specific about what to restore. Then, going forward, add “change only this, leave the rest alone” to your requests. If your tool has version history, learn where that button is before you need it.
It says it fixed something, and it did not
This is the most common one. AI is optimistic about its own work. The only defence is checking after every change, which is why step five exists. Never take “done” as evidence.
You have no idea what it just did
Ask. “Explain what you just changed, in plain English, like I have never seen code.” It will. This is also the sneakiest way to learn how any of this works, without ever taking a course.
It works on your screen but not for anyone else
You have not deployed it yet, or you deployed an older version. Ask it to deploy the current version and give you the live link, then open that link on your phone. If it works there, it works.