Andrej Karpathy popularized the term in early 2025. The idea is simple: you describe what you want, the AI generates the code, you accept it without reading and keep asking for more. Without understanding the code. Without reviewing. On vibes.
For personal experiments and internal scripts, it works surprisingly well. The problem starts when founders use the same approach to build real products that will have users, data, payments and SLAs.
Why it seems to work at first
The illusion of progress is real. You describe a feature, the AI generates the code, you click and it works. In one afternoon you have a navigable prototype that looks like a product. That is genuinely impressive.
The problem isn't in the code you see. It's in the code you didn't read, in the decisions the AI made with zero context, in the assumptions it made about scale, security and future maintenance.
Where it breaks
Invisible technical debt shows up first. AI generates code that works for the case you described. It's rarely code well structured to evolve. A database schema without proper normalization, duplicated components, business logic mixed with presentation. None of it shows in the demo, but all of it shows when you try to add the next feature.
Security is the most dangerous part. Authentication, authorization, input sanitization, CSRF protection. A senior dev thinks about these things automatically. AI thinks about them only if you ask explicitly. And founders vibe coding usually don't know what to ask because they don't know what there is to attack.
Maintenance is another serious problem. When you hire a dev to continue the product, they inherit code nobody understands. Not you, not the AI that generated it. Refactoring or adding features on top of that costs far more than building it right from the start would have.
And tests rarely exist. Vibe coding doesn't include automated tests because you didn't ask and the AI didn't insist. When the product starts to grow, any change becomes a risk.
Where vibe coding has a place
It's not all bad. Vibe coding makes sense for validation prototypes you'll throw away, for internal scripts with no external users, for quick technical feasibility experiments.
The difference between vibe coding used well and used badly comes down to one thing: is someone with experience evaluating what the AI generated?
How it works when someone is in command
AI supervised by an experienced dev is different from vibe coding. In the first, AI speeds up the execution of decisions already made by someone with context. In the second, AI makes every decision and nobody checks.
At devexperience, we use AI in every phase of every project. But we have a team of six people who know what to review, what to accept and what to rewrite. The result is speed without the technical debt that stalls the product two months after launch.
If you've already tried vibe coding and reached a point where the product feels stuck, [talk to us](/start). We've helped many founders turn AI prototypes into products that really work.