how to use vibe coding
“Vibe coding” is a playful term for a style of programming where you lean on AI assistants (like me) to do most of the mechanical work—writing boilerplate, looking up syntax, generating tests, refactoring—while you stay in a high-level “creative flow.”
Think of it as pair-programming with an intern who types at 200 wpm and never gets tired, but still needs your product vision and taste.
Here’s a practical, step-by-step recipe you can adopt today.
• One chat window + one editor pane side-by-side.
• Hot-reload dev server running so you see changes instantly.
• A scratch file called todo.md where you jot the next micro-goal in plain English every 30–60 s.
• Git auto-commit every save (git init && git add . && git commit -m wip) so you can always roll back.
Instead of “write a React component,” say:
“I need a settings panel where the user can toggle dark mode and pick a language. Persist choices in localStorage.”
The AI will spit out the component, the CSS, the localStorage calls, maybe even a tiny unit test.
Your job: skim, rename variables to match your conventions, delete the parts you don’t need.
todo.md.todo.md; if not, say “it crashes with …” and iterate.Example session transcript:
Next: Add a debounced search input that calls /api/search?q=...
→ AI returns <DebounceInput>, fetch wrapper, error boundary.
You delete the error boundary because you already have one, hit save, see the list filter live.
• Pin a short “system prompt” at the top of the chat:
“We’re using Next.js 14, TypeScript, Tailwind, Zod for validation.”
• Every 5–10 exchanges, summarize:
“So far we have a working /login route, JWT stored in cookie, middleware protects /dashboard.”
This prevents the AI from hallucinating old patterns.
When something feels off, literally paste the function and say:
“This feels clunky—how would you refactor it?”
Often the AI will propose a one-liner or a utility you forgot existed (useSWR, clsx, etc.).
• Budget a 5-minute “refactor break” every 30 minutes to rename, extract, and add types.
• Run tsc --noEmit or eslint continuously; fix red squiggles immediately.
• Keep a NOTES.md for “AI debt” (generated code you want to revisit).
• Deep algorithmic work (e.g., custom compression, crypto).
• Security-sensitive code (auth, payments).
• Performance hot paths—profile first, then hand-tune.
“Describe the next 30-second slice of user-visible behavior in plain English, let the AI type, skim-merge-run, repeat.”
That’s it—happy vibe coding!