Where the term came from
The term "vibe coding" was coined by Andrej Karpathy — co-founder of OpenAI and former Director of AI at Tesla — in a February 2025 post. His description: "There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."
The idea: rather than thinking about code as the primary artifact, you think about what you want to build. The code is generated, not written. You describe the vibe of the application — what it does, how it works, what it looks like — and AI produces the implementation.
What changed to make this possible: LLMs in 2024-2025 became capable enough to write complete, working application code — not just snippets. The combination of large context windows (understanding an entire codebase at once), better instruction-following, and integrated development tools (Cursor, Lovable, Replit Agent) made vibe coding practically viable.
The tools that enable vibe coding
What you can realistically build with vibe coding
Well-suited (high success rate):
- Internal tools — dashboards, admin panels, data entry forms, approval workflows
- Simple SaaS MVPs — booking systems, directory sites, job boards, marketplaces
- Automations and scripts — data processing, file manipulation, API integrations
- Bots — Telegram bots, Discord bots, Slack automations
- Landing pages and marketing sites
- Personal productivity tools — custom trackers, calculators, note apps
Less suited (harder, needs more iteration):
- Complex business logic with many edge cases
- Real-time applications with strict performance requirements
- Applications requiring custom security or compliance implementations
- Mobile apps (native iOS/Android — web apps wrapped in mobile are easier)
- Large-scale systems with many integrations
The honest limitations
It breaks. AI-generated code fails in unexpected ways. Debugging often requires understanding the code even if you did not write it — being able to read code (not write it) becomes a valuable skill for vibe coders.
Context limits hit. As projects get larger, the AI loses track of the whole codebase. Large apps hit this wall. The practical ceiling for pure vibe coding without developer oversight is a few thousand lines of code.
Security and scale gaps. AI-generated code is often correct but naive — it works for 10 users but breaks at 10,000, or it stores data in ways that are insecure. Production deployments need review.
You still need to think clearly. The AI does not know what you want to build. The quality of the output is directly proportional to the clarity of your description. Vibe coding requires excellent product thinking, not zero thinking.
The shift this represents
Vibe coding does not make developers obsolete. It makes the ability to build software accessible to people who previously could not — product managers, designers, marketers, founders, analysts. The constraint shifts from "can I write the code?" to "can I clearly describe what I want to build?"
The practical effect: a single person can now build and ship a product in days that previously required a team of developers over weeks. This changes what is possible for individuals and small teams, and changes the economics of software creation.