Vibe Coding
What Is Vibe Coding?
Understand the term coined by Andrej Karpathy — what vibe coding is, how it works in practice, why it exploded in 2025, and where it sits on the spectrum from pure prompting to full spec-driven development.
What Is Vibe Coding?
The term vibe coding was coined by Andrej Karpathy — co-founder of OpenAI and former Tesla AI director — in early 2025 to describe a style of AI-assisted development where the developer describes what they want in natural language and lets the AI handle the implementation. The defining characteristic: you don't read most of the code the AI generates. You describe the "vibe" — the feel, the behavior, the general intent — and iterate based on what comes out.
It is programming by conversation rather than by specification.
How Vibe Coding Works in Practice
The loop is simple:
- Open an AI coding tool (Bolt.new, Cursor, Claude Code, v0, Replit Agent, Lovable, Windsurf)
- Describe what you want in natural language: "Build me a landing page with a hero, pricing table, and contact form"
- The AI generates code
- You see the result
- You give feedback: "Make the hero bigger, change the color to blue, add a testimonial section"
- The AI modifies the code
- Repeat until it looks right
You are not reading or writing code — you are reviewing output and giving direction.
Why Vibe Coding Exploded
Several forces converged in 2024-2025:
AI models got dramatically better. Claude, GPT-4, and Gemini can now generate entire applications from descriptions — complete with routing, state management, database calls, and styling. The quality of first-generation output crossed a threshold where iterating on AI output became faster than writing code by hand for many categories of work.
Tools made the workflow frictionless. Bolt.new generates a full-stack application in the browser from a single sentence. v0.dev produces production-quality React components from descriptions. Cursor and Windsurf put AI generation inside the IDE. Lovable connects generation to Supabase and handles deployment. The barrier dropped from "years of learning" to "describe what you want."
The category of builders expanded. Founders, marketers, product managers, and designers who previously had to wait for engineering started building functional software through conversation. This unlocked an enormous group of builders who had ideas but not implementation skills.
The result: millions of people now build functional software they've never read.
The Vibe Coding Spectrum
Vibe coding is not binary. Most developers exist somewhere on a spectrum:
Pure vibe coding: "Build me a todo app" → accept whatever comes out → iterate by feel. Zero specification. Zero code review.
Guided vibe coding: "Build a todo app with these features: ..." → review the output → give targeted feedback. Some structure, mostly vibes.
Structured prompting: Provide user stories, acceptance criteria, and constraints → AI generates → you review code and output. Significant structure, minimal vibing.
Spec-driven development: Full SDD pipeline with steering files, EARS requirements, design documents, and task breakdowns → AI implements to spec → validation at every gate. Maximum structure.
Most tutorials in this platform help you move rightward on this spectrum. This module starts by understanding the left side honestly.
The Cultural Moment
"Vibe coding" went from a tweet to a cultural phenomenon. Think pieces proliferate. Communities form around specific tools. Entire courses teach nothing but Bolt.new workflows. Founders demo apps to investors that were built in 30 minutes with pure vibes.
This represents a fundamental shift in who can build software and how software gets built. Whether you embrace it, resist it, or (more likely) selectively use it, understanding it is essential for any developer working in the AI era.
Key Takeaways
- Vibe coding was coined by Andrej Karpathy in 2025 to describe natural-language-driven development where the developer does not read most of the generated code
- The defining loop: describe → AI generates → see result → give feedback → repeat
- It exploded because AI models improved dramatically and frictionless tools emerged (Bolt.new, Cursor, v0.dev)
- It is a spectrum, not a binary — from pure vibes to full spec-driven development
- Understanding vibe coding is essential for any developer in the AI era, regardless of whether you embrace or avoid it
Example
# The Vibe Coding Spectrum
Level 0: Pure Vibe
"Build me a todo app"
→ Accept whatever comes out
→ Iterate by feel
→ Zero specification, zero code review
Level 1: Guided Vibe
"Build a todo app with:
- Add tasks by typing + Enter
- Mark complete with checkbox
- Delete with trash icon
- Dark theme"
→ Some structure, mostly vibes
Level 2: Structured Prompting
User story + feature list + constraints
→ Review output carefully
→ Targeted iteration
Level 3: Full SDD
Steering files + EARS requirements
+ design docs + task breakdown
→ AI implements to spec
→ Validation at every gate