Skip to content

Vibe Coding

Summary

A software development practice where the user describes goals in natural language and AI generates, refines, and debugs code — shifting the human role from writing code line-by-line to guiding an AI assistant through conversation.

Origins

Coined by Andrej Karpathy in early 2025: "There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."

Two Modes

Mode Description Best For
"Pure" vibe coding Fully trusting AI output, "forgetting code exists" — see stuff, say stuff, run stuff, copy-paste stuff Rapid ideation, throwaway weekend projects
Responsible AI-assisted development AI as "pair programmer"; user guides, reviews, tests, understands code, takes ownership Professional, production-grade software

The Workflow

  1. Describe the goal — High-level prompt in plain language
  2. AI generates code — Interprets request, produces initial code
  3. Execute and observe — Run the code to see if it works
  4. Provide feedback and refine — Iterative conversational loop
  5. Repeat — Until code is complete

Vibe Coding vs Traditional Programming

Dimension Traditional Programming Vibe Coding
Code creation Manual, line by line AI-generated from natural language
Developer role Architect, implementer, debugger Prompter, guide, tester, refiner
Expertise required Higher (languages, syntax) Lower (understanding functionality)
Primary input Precise code Natural language prompts
Development speed Slower, methodical Faster for prototyping
Error handling Manual debugging Conversational feedback
Learning curve Steep Lower barrier to entry
Maintainability Depends on developer skill Depends on AI output quality + user review

Benefits

  • Lowers barrier to entry — non-coders can build apps and MVPs
  • Faster prototyping — idea to working app in minutes
  • Frees developers to focus on outcomes, not syntax
  • Enables rapid iteration and experimentation

Risks and Criticisms

  • Security vulnerabilities — 45% of AI-generated code contains OWASP Top 10 vulnerabilities; architectural flaws like privilege escalation surged 300%
  • Overconfidence — AI-assisted developers write less secure code but believe it's more secure
  • Code bloat — When generating code is free, temptation is to generate too much; volume drives complexity
  • Cognitive debt — Understanding erodes, skills atrophy, innovation slows over time
  • Hallucination baked in — LLMs produce "most likely" code, not "most accurate" or "most secure"
  • Runaway loops — AI agents can go off the rails with vague instructions, deleting data, fabricating results

Vibe Coding for Learning

Can be an excellent learning tool if disciplined: - Build side projects you actually care about (not generic to-do apps) - Read every generated line, ask AI to explain decisions - Break things and fix them yourself - Pair with fundamentals — read documentation, understand under the hood - Vibe coding is the starting line, not the finish line

For Non-Coders

  • Eliminates the "non-developer" disadvantage for personal projects and MVPs
  • But production-grade apps face real obstacles: authentication, payment gateways, app store deployment, notification workflows
  • Shipping is harder than building — market research, crowded markets, sales matter more than the code

Key Debate

  • Pro: Democratizes software creation, accelerates development, excellent learning tool
  • Con: Creates security debt, "lost generation" of engineers who can't debug what they didn't write, AI slop

See Also