Vibe Coding
Definition
Vibe coding is building software by describing what you want in plain language to an AI coding assistant and iterating on what it produces, rather than writing the code by hand.
What Is Vibe Coding?
The term was popularized by Andrej Karpathy in 2025 to describe leaning fully into AI-generated code without reading every line it produces. It's contested because in practice it covers a wide range, from "I described a feature, reviewed the diff, and understood what changed" to "I never looked at the generated code at all," and those carry very different risk.
When it's a reasonable way to work: prototypes, internal tools, one-off scripts, and early MVPs, where speed matters more than long-term maintainability and a bug's blast radius is small. Founders without an engineering background can get a working product in front of users far faster than learning to code first.
When it's risky: anything touching payments, authentication, or user data, where code you can't explain is code you can't be accountable for when it breaks or leaks something. "The AI wrote it" isn't a defense to a customer whose data got exposed.
How it differs from no-code: no-code tools abstract code away behind a visual builder, there's no code to read even if you wanted to. Vibe coding produces real code, you're choosing not to review it closely, which is a decision you can also choose not to make on the parts that matter.
Practical rule: vibe code the feature, then actually read the diff before anything that touches money, auth, or customer data ships. Tools in this space include Cursor, Claude Code, Replit Agent, v0, and bolt.new.
Examples
A founder vibe-codes an entire onboarding flow in an afternoon using Cursor, ships it after a quick read of the diff, then stops to manually review and test the Stripe webhook handler line by line before it goes live, because that's the part where an unreviewed mistake costs real money.
