Most people fail at vibe coding for one reason: they treat the AI like a vending machine — one big vague request, then disappointment. The people who succeed treat it like a capable assistant they're directing in a loop. That loop is D.R.I.V.E. Five steps, in order, on repeat until the thing is right.
Describe the outcome, not the code
Say what it is, who uses it, and what happens — never how to build it. "A quiz with five questions that sorts people into one of three types and ends with an email sign-up" is perfect. You never need the word "JavaScript."
Rough it first
Ask for the simplest working version before anything pretty or clever. Resist feature soup. A plain thing that works is a foundation; a fancy thing that's broken is a mess you can't see inside.
Inspect like a real user
Click every button. Open it on your phone. Type nonsense into the boxes. Try to break it the way a distracted person on a bus would. You're not admiring it — you're testing it.
Voice the gap — what you SEE
Report the symptom, not the fix. "On my phone the button does nothing when I tap it" beats "fix the onClick handler." You describe what's wrong from the outside; diagnosing the cause is the AI's job, not yours.
Expand one thing at a time
Once the core works, add features one request at a time — never five at once. One change, check it still works, then the next. Ship before pretty; polish is the last lap, not the first.
D and R stop you building the wrong thing beautifully. I and V are where beginners quit — don't; this is the actual work. E is where restraint pays off: the person who adds one feature at a time always finishes; the person who asks for everything at once always ends up untangling a knot.
The project brief template
Before you open any tool, fill this in — it's the "D" of D.R.I.V.E. on one page. Paste it as your very first message and you'll skip three rounds of confusion. Fill the cerise blanks:
I want to build a [what it is — e.g. a quiz]. Build the simplest working version first; we'll add to it after. WHAT IT IS: [one sentence] WHO USES IT: [my audience] THE 3 THINGS IT MUST DO: 1. [...] 2. [...] 3. [...] WHAT IT LOOKS LIKE: [clean / warm / playful — and any colors or fonts] WHAT HAPPENS WITH THE RESULT: [e.g. they enter their email to get their result] Make it work on mobile. When it's done, explain in plain English what you built and how I share it.
The five magic sentences
These five lines fix the vast majority of what goes wrong. Keep them somewhere close; you'll use them constantly. Each is copy-ready:
Make it work well on mobile — assume most people open it on a phone.
Simpler, please — fewer options, less on the screen. Cut anything that isn't essential.
Explain what you just built like I'm smart but not technical.
What could break this for a real user? Find the weak spots and fix them.
Let's start over but keep the idea — rebuild it cleanly from scratch.
When it gets stuck: the reset protocol
Sometimes a conversation ties itself in knots — every fix breaks two other things. Don't keep pushing a tangled thread. Do this instead:
- Open a brand-new chat. A fresh start clears the confusion the old thread accumulated.
- Paste your project brief again (the template above), plus the current version if you have it.
- Ask for a fresh take: "Here's what I'm building and where the last attempt got stuck. Rebuild it cleanly."
I'm building [the thing] and my last attempt got tangled — small fixes kept breaking other parts. Here's the brief: [paste your project brief]. And here's the current version: [paste the code, or describe what it does]. Please rebuild it cleanly from a fresh start, simplest working version first.
You are not abandoning progress by starting over — you're keeping the idea and dropping the mess. Ten fresh minutes beats an hour of untangling. This one habit separates people who finish from people who rage-quit.
Fill in the project brief template for the idea you wrote in Lesson 1, paste it into your chat tool, and run one full D.R.I.V.E. loop: describe, get the rough version, inspect it on your phone, voice one gap, and ask for one improvement. You've now done the entire method once — Lesson 4 is just this, five more times, on real projects.