The new paradigm of coding by intent - describing what you want and letting AI write the code.
Vibecoding is a term coined by Andrej Karpathy in early 2025 to describe a new programming paradigm: instead of manually writing every line of code, you describe what you want in natural language and let AI generate the implementation. You guide the process through conversation, accepting or rejecting generated code based on whether the result "feels right."
This approach works surprisingly well for prototypes, scripts, and web apps. Tools like Cursor, Claude Code, GitHub Copilot, and Windsurf enable vibecoding workflows. However, it has clear limitations for complex systems β understanding what the code does remains important for debugging, security, and maintenance.
What Is Vibecoding
Describing what you want in natural language and letting AI write the code. You guide the process through conversation, accepting or rejecting output based on whether it "feels right."
Origin of the Term
Andrej Karpathy coined "vibecoding" in February 2025 to describe programming by intent rather than syntax. The term went viral and now defines a new programming paradigm.
The Coding Spectrum
Manual coding β assisted (Copilot autocomplete) β vibecoding (describe intent, AI implements) β fully autonomous agents (AI plans and executes entire features). We're moving right.
Key Vibecoding Tools
Cursor (AI-first IDE), Claude Code (CLI agent), GitHub Copilot (inline suggestions), Windsurf (AI IDE), Bolt/v0 (web app generators). Each tool suits different workflows.
When It Works Well
Prototypes, scripts, standard web apps (CRUD, dashboards, forms), well-defined tasks with clear requirements. Vibecoding excels when patterns are common and well-represented in training data.
When It Fails
Complex architectures, novel algorithms, security-critical code, performance optimization, and anything requiring deep domain expertise. Understanding limitations prevents dangerous overreliance.
Best Practices
Clear requirements upfront, iterative refinement (don't accept first output), always review generated code for correctness and security. The developer's role shifts from writing to directing and reviewing.
Spec-Driven Vibecoding
Writing detailed specifications and requirements first, then letting AI implement them. A good spec + AI is more effective than a vague request + AI. The spec IS the new code.
Testing Is Essential
Vibecoded projects need comprehensive tests since you may not fully understand every line of generated code. Tests serve as your verification layer β they're your safety net.
The Future of Coding
Programming evolves from writing syntax to directing intent, reviewing output, and designing systems. Understanding architecture and requirements becomes more important than memorizing APIs.
VibecodingProgramming by describing what you want in natural language and letting AI write the code.
AI-First IDEDevelopment environment built around AI code generation (Cursor, Windsurf) rather than traditional text editing.
Spec-Driven DevelopmentWriting detailed requirements/specs first, then using AI to generate the implementation.
Agentic CodingAI coding assistants that can autonomously plan, write, test, and debug code with minimal guidance.