Back to Glossary
Coding Tools

Vibe Coding

Definition

Vibe coding (coined by Andrej Karpathy) describes a development style where you describe what you want in natural language and let AI write the code, embracing imperfection and rapid iteration.

Why It Matters

Vibe coding represents a philosophical shift in development. Instead of meticulously crafting every line, developers describe intent and let AI generate implementations. This can dramatically speed up prototyping and make programming more accessible, though it requires judgment about when precision is needed.

The Concept

Andrej Karpathy coined the term to describe:

  • Describing features in natural language
  • Letting AI write initial implementations
  • Iterating through conversation rather than manual editing
  • Accepting “good enough” code for non-critical paths
  • Focusing human effort on architecture and critical logic

When It Works

Vibe coding excels for: rapid prototyping, boilerplate generation, learning new frameworks, one-off scripts, and non-critical tooling. It’s less appropriate for: security-critical code, performance-sensitive systems, complex business logic, and code that will be maintained long-term.

How to Do It Well

Be specific about requirements. Provide context about your codebase. Review generated code critically. Know when to switch to manual coding for precision work.