Pick a depth. Each prompt opens in your AI pre-loaded with the lesson. Click a row to preview the prompt.
No first draft is ever the finished app, and the real skill of vibe coding is not the first prompt but the twenty small requests after it. The catch is that some phrasings get clean, exact changes and others confuse the AI into rewriting things you liked. The difference is specificity: pointing at one named element and stating the exact new state ('rename the Save button to Add habit') beats a vague wish ('make the buttons better'). Building the ask-review-refine reflex now — one change at a time, check the result, then the next change — is what lets you steer an app to exactly what you pictured instead of settling for the AI's first guess.
Take the habit tracker from the last lesson and make five real change requests, one at a time, watching each result before sending the next. (1) RENAME: 'Rename the button that says Save to Add habit.' Clean result — one button label changes, nothing else moves. (2) COLOR: 'Change the checked-habit color from green to a soft teal (#2dd4bf), and make the header bar dark navy.' The AI updates exactly those two colors. (3) ADD A FIELD: 'Add an optional note field under each habit where I can type a short reminder to myself, shown in small grey text.' A note line appears. (4) REMOVE: 'Remove the swipe-to-delete gesture and keep only the trash icon for deleting, because swipe is too easy to trigger by accident.' The gesture is gone, the icon stays. (5) REWORD: 'Change the top counter from 2 of 5 to Done: 2 / 5 Today.' The label reflows. Now the contrast that teaches the lesson: a BAD request is 'make it look more modern' — the AI has to guess what modern means and often restyles the whole app, breaking layout you liked. The GOOD version of that same wish is 'increase the spacing between habits to make it feel less cramped, and use a lighter font weight for the habit names.' Same intent, but specific enough that the AI changes only those two things. The rule: name the thing, state the exact new state, one change per message.