TL;DR: Vibe coding is building software by telling an AI what you want and accepting the code it writes based on whether the result behaves correctly - not on reading every line. It is a real and useful way to build prototypes and personal tools, and a risky way to build anything that handles other people's data or money.
How it works
The loop is simple: describe the thing, let an AI coding agent build it, run it, and react to what you see. "Make the chart blue." "The login button does nothing." "Add a dark mode." You steer by outcome, the way a customer steers a contractor - you judge the kitchen, not the plumbing. The term was coined by Andrej Karpathy in early 2025 to describe exactly this posture: give in to the vibes, forget that the code exists.
A concrete example: a product manager wants a dashboard that pulls three spreadsheets into one weekly summary. Instead of filing a ticket, they open an AI app builder, describe the dashboard, paste sample data, and iterate in chat for an hour. They never read the generated code. For a tool with one user and no sensitive data, that is a perfectly rational trade: the cost of a bug is low and the cost of the old process was "it never gets built at all."
The trade turns bad when the stakes rise. Code nobody read has bugs nobody caught: missing authorization checks, secrets committed to the repo, quadratic loops that fall over at real scale. And code nobody understands is expensive to change - the tenth feature request lands on a codebase that no human has a mental model of. Teams that ship vibe-coded prototypes to production without a hardening pass are borrowing against a debt they have not measured.
The practical middle ground is to treat vibe coding as one end of a dial, not an identity. Prototype by vibes, then graduate: add tests, get an AI or human review of the security surface, and move toward spec-driven development once the software has users. How well the vibes work in the first place is mostly a function of how clearly you describe what you want - which is prompt engineering by another name.
Where it sits in the AI stack
Vibe coding is a workflow layered on top of coding agents and app builders - the human supplies intent and judges behavior, and everything in between is delegated:
Key tools and implementations
-
AI app builders
Platforms like Lovable and Bolt that turn a description into a running, hosted app - vibe coding's natural habitat.
-
Coding agents
Tools like Claude Code and Cursor's agent mode, which make vibe-style iteration possible inside a real repository.
-
Chat assistants
General chat interfaces where many people vibe-code their first script by pasting errors back and forth.
-
Prototype sandboxes
Browser-based environments that run generated code instantly, keeping the describe-run-react loop tight.
Related entries
- AI coding agent Software that plans and executes multi-step coding tasks - reading files, editing code, and running tests with minimal supervision.
- AI app builder A platform that turns a natural-language description into a working, deployable application without hand-written code.
- Spec-driven development Writing a detailed specification first so AI coding agents implement, and get reviewed, against an agreed plan.
- Prompt engineering Designing the instructions, examples, and context you give a model to get reliable, useful output.