THE GENIUS PROJECT
๐Ÿ’ฌ Lesson 2 of 8 ยท Vibe coding

What Is Vibe Coding?

๐Ÿ•’ About 25 minutes ๐Ÿ” 1 loop to memorize ๐Ÿงฉ 1 prompt formula

Vibe coding means building software by describing what you want in plain language and letting an AI write the code. It does not mean the AI does the thinking. The describing IS the thinking, and this lesson teaches you to do it well.

What actually happens when you vibe code

When you type "build me a quiz app" into Lovable or Replit, a large language model (the same family of AI as a chatbot) writes hundreds of lines of real code: the layout, the buttons, the logic, the storage. The builder then runs that code instantly and shows you a live preview. You are the director. The AI is a very fast, very literal junior developer who never gets tired and never gets offended by feedback.

THE VIBE CODING LOOP 1. SAY IT describe the app 2. AI BUILDS writes real code 3. TRY IT tap every button 4. FIX ONE thing at a time around the loop every few minutes, until it feels right
โš ๏ธ The two vibe coding traps

Trap 1: vague prompts. "Make it better" gives the AI nothing to aim at, so it guesses, and its guess is usually not your taste. Trap 2: asking for 6 changes at once. The AI will attempt all 6, tangle them together, and you will not know which change broke the app. One clear instruction per message wins.

The anatomy of a build prompt

Your first message to any AI builder matters most: it sets the foundation. Strong build prompts have 5 parts. You already wrote parts 1 and 2 in Lesson 1.

BUILD PROMPT = 5 BLOCKS 1. WHO + WHAT (promise) 2. SCREENS (from sketch) 3. ACTIONS (what taps do) 4. LOOK (colours, mood) 5. DATA (what gets saved)

Here is the difference the 5 blocks make, using the football team example from Lesson 1:

โŒ Weak prompt (the AI has to guess everything)
Make an app for my football team.
โœ… Strong prompt: all 5 blocks
Build a web app for my school football team's parents, so they can see match info without calling anyone.

Screens:
1. Home: a list of upcoming matches, each showing date, kick-off time, opponent, and venue. The next match is biggest, at the top.
2. Add Match: a simple form (date, time, opponent, venue) with a Save button.
3. Team: player first names and positions in a grid.

Actions: tapping a match opens its details. The Add Match form must not save if any field is empty; show a friendly error instead.

Look: dark navy background, lime green accents, big rounded buttons, bold headings. Must look great on a phone.

Data: store matches so they are still there after the page is refreshed.
๐Ÿ’ก Say the look in feelings AND facts

"Look: fun" is weak. "Dark navy, lime accents, big rounded buttons" is strong. If you cannot name colours, name a mood plus an example: "calm and clean, like a weather app". The AI matches specifics far better than vibes alone, even in vibe coding.

Iteration prompts: the other half of the skill

After the first build, you go around the loop with small, surgical messages. Save this pattern; you will use it hundreds of times:

โœ… The fix-it pattern
When I [do this action], I expected [what should happen], but instead [what actually happens]. Please fix only this, and do not change anything else.

Three real examples of the pattern at work:

Check your understanding

Your app's quiz screen shows the wrong score. Which message is the best vibe coding move?

Correct. It names the action, the expected result, the actual result, and limits the change. That is a bug report a machine (or a human developer) can act on precisely.
โœ… Lesson 2 checklist

Finishing this opens Lesson 3: your first real build, on Lovable.