# Vibe Coding
Building software by describing what you want to an AI coding assistant (Cursor, Claude, GitHub Copilot, Replit) and accepting the generated code without fully understanding how it works. Coined by Andrej Karpathy (former OpenAI/Tesla AI director) in February 2025, who described it as: "I just see things, say things, run things, and copy-paste things, and it mostly works."
## The term's analytical work
"Vibe coding" captures a genuine shift in software development practice, but the word "vibe" does specific framing work:
**It lowers the bar.** By naming the practice after vibes — feelings, intuitions, aesthetics — rather than engineering, the term positions programming as something anyone can do if they can describe what they want. This is both empowering (non-programmers can build tools) and concerning (the resulting code may be fragile, insecure, or unmaintainable).
**It signals a labor shift.** Professional software developers are divided on vibe coding. Some embrace it as productivity acceleration — spend less time on boilerplate, more time on architecture. Others see it as a threat: if anyone can "vibe code," the economic value of programming skill declines. The term itself is contested along these lines.
**It names a real practice.** Millions of people are using AI coding assistants to build software they couldn't have built otherwise — personal tools, small business automation, creative projects, prototypes. The quality varies wildly, but the democratization is real. "Vibe coding" gives this practice an identity and a community.
## The risk dimension
Code generated by vibes inherits the AI's limitations: it may contain security vulnerabilities the user can't identify, performance problems the user can't diagnose, or architectural decisions the user can't evaluate. For personal projects, this is acceptable. For production systems, financial tools, or anything security-critical, vibe-coded software carries risks that traditional development practices are designed to prevent.
## See Also
- [[Prompt Engineering]] — the communication skill vibe coding depends on
- [[Large Language Model]] — the technology enabling vibe coding