Ask an AI assistant to "build me a habit-tracker app" and watch it produce working code in seconds — then ask it to tweak the colours, add a chart, fix a crash, all in plain English, without you reading a single line. That loop has a name now: vibe coding. This guide explains what vibe coding actually is, where the term came from, how it works in practice, and the honest line between a brilliant shortcut and a trap.
What vibe coding actually is
Vibe coding is building software by describing intent to an AI and iterating on what it generates, instead of writing and reviewing the code yourself. You operate at the level of "what I want it to do" — add a feature, change a behaviour, fix an error — and let the model handle "how it's written." Your job shifts from author to director: you prompt, you run it, you react to the result, and you repeat.
The defining trait is how little you look at the code. In classic development you read and own every line. In vibe coding you often accept the AI's output without fully reading it, judging the program by whether it behaves the way you wanted rather than by how it's built.

Where the term came from
The phrase was popularised by Andrej Karpathy in early 2025. He described a mode of working where you "fully give in to the vibes" and rely on the AI so completely that you barely engage with the underlying code — fun and fast, in his framing, for weekend projects and throwaway tools. The name stuck because it captured something developers were already doing with conversational best AI coding assistants: less typing, more describing.
How it works in practice
A vibe-coding session looks like a conversation. You state a goal, the assistant writes or edits files, you run the result, and you describe what's wrong or what to add next. The model keeps the project context, so each turn builds on the last. The faster that loop — prompt, run, react — the more it feels like "coding by vibes" rather than by syntax.
This is close to, but not the same as, AI pair programming. Pair programming with an AI implies you're still reading along, reviewing and steering line by line, like a navigator beside a driver. Vibe coding leans further: you delegate the how almost entirely and judge only the outcome. The same tools support both modes — the difference is how much you choose to look.
Where it shines — and where it bites
Vibe coding genuinely excels at:
- Prototypes and MVPs — get a clickable idea in front of people fast.
- Throwaway scripts — one-off automation you'll run once and delete.
- Learning and exploration — see one working approach, then dig in.
- Non-critical personal tools — where a bug is an annoyance, not a breach.
It bites hardest when the stakes rise. Shipping code you haven't read means inheriting problems you can't see: exposed API keys, missing input validation, insecure dependencies, and subtle logic bugs. When something breaks in production, debugging code you never understood is painful, and a codebase nobody can explain becomes a maintenance liability. The accelerator that built the prototype is a poor foundation for the thing real users depend on.
The bottom line
Vibe coding is a real shift in how software gets made: describe intent, let the AI write it, iterate on the result. For prototypes, scripts and learning it's a superpower that collapses hours into minutes. For anything handling money, data or security, treat the AI's output as a fast first draft from a junior collaborator — read it, test it, and understand it before it ships. The developers who get the most from vibe coding are the ones who know exactly when to stop vibing and start reviewing.


