What is vibe coding?
Vibe coding means building software by talking to an AI instead of writing code yourself. You describe what you want, the AI writes the code, and you react to what it built. It's great for small projects and prototypes — and falls apart when the code gets big or nobody can read it.
The core idea is simple: you talk, the AI codes. Andrej Karpathy named it in early 2025 — he'd built real software by giving in to the vibes. "Make me a page of my photos in a grid, dark background." The AI writes the files, hands you a working thing. The loop: run it, say what's wrong — "too tight, bigger photos" — it fixes it. You're the client with opinions. The AI is the contractor who never sleeps.
The big shift is how you check the work. A programmer reads code to know it's right. A vibe coder runs the thing and looks at it: does it do what I asked? Yes or no — that's the whole review. And for most projects, that's enough. Most software fails because nobody understood what was wanted.
The tools all work roughly the same way. Cursor, Copilot, Claude Code, Replit, Lovable, Bolt, v0 — places where the AI sees your files, changes them, and tests its own work. That's an agent, not autocomplete. It isn't suggesting code. It's doing the work.
Who it's for is broader than you'd think. Non-programmers who never learned the syntax. Working programmers, prototyping in an afternoon what took a week. And domain experts — the accountant who knows how the spreadsheet should behave. The bottleneck was never intelligence. It was syntax.
Why it matters is the part people understate. For fifty years, ideas needed a translator — fluent in a machine language, expensive, slow — and most died in the gap. Vibe coding closes the gap. The bottleneck is saying what you want and telling when the result is wrong.
Now the honest part: it breaks down at scale. A weekend project is a conversation. A real codebase is a city, and the AI forgets the street names. Fixes quietly break things elsewhere. Small ones stay coherent; big ones don't. And the code you can't read will eventually own you: thousands of lines, forty files, and when something breaks, you can't find it — or read it to point at it. You hire a programmer to reverse-engineer it. The demo was free. The maintenance is the bill.
Security is the quiet killer. The AI will write a login system with total confidence and a hole you could drive a truck through. It never says "I'm not sure this is safe." If your project touches money, passwords, or other people's data, get a human who understands security to check it. No exceptions.
And your real decisions live in a chat log. A programmer's live in the code. Yours live in conversation: "No, make it blue." "Go back to the old version." Six months later, nobody knows why it is the way it is. The reasoning evaporated with the chat.
Reach for it when the project is small, the stakes are low, or the prototype is the point. A personal tool, a demo, a weekend experiment. Don't reach for it when correctness matters more than speed. Money. Medical. Security. Anything at scale. Anything someone else maintains. The vibes end where the engineering begins — knowing where the line is is the whole skill.
The punchline is this: vibe coding doesn't remove the need to think. It removes the need to type brackets. What's left — knowing what you want, judging what you got — was always the hard part. The winners aren't the fastest typers. They're the clearest thinkers.
Steal this: the kickoff prompt
Starting a first project? Paste this into your AI coding tool. Fill in the bracket and change nothing else the first time:
STEAL THIS PROMPT
I want to build [your idea, in one plain sentence]. Build it in small steps — one piece at a time — and stop after each step so I can run it and look at it. Before you write any code, tell me in plain words what you're about to build and why. After each step, tell me exactly how to check it works by using it, not by reading code. If anything is unclear, ask me — don't guess. Keep the first version as small as it can be and still work.
That's the whole method in one paste: small steps, plain words, and you judge the work by running it — never by trusting it.
So I have to do a plug here, just because. You've been vibe coding, and the whole thing runs in the cloud on somebody's AI, and you're spending tons of tokens. I built Finch so it all runs local, on your own computer. Saves you the token costs. And as a rule of thumb, it runs substantially faster too. I vibe-coded this whole thing — as frustrating as it was.
You can find it here.
