Andrej Karpathy Vibe Coding Explained: What Most People Get Wrong

Andrej Karpathy Vibe Coding Explained: What Most People Get Wrong

February 2025 changed how we think about the keyboard. Andrej Karpathy, the guy who basically built Tesla’s Autopilot and co-founded OpenAI, dropped a term on X that sent the tech world into a tailspin: vibe coding.

It sounds like something a burnout surfer would say while staring at a Macbook. But coming from Karpathy, it carries weight. He wasn't just talking about a new tool; he was describing a total surrender to the machine. He talked about "giving in to the vibes" and "forgetting the code even exists."

Basically, you stop typing syntax. You start managing intent.

The day the syntax died

Most people think coding is about memorizing where the semicolons go. It’s not. It’s about logic. But for forty years, the syntax—the actual typing of the words—was the bottleneck.

Karpathy realized that with models like Claude 3.7 Sonnet and tools like Cursor Composer, the bottleneck has vanished. You don't write the loop anymore. You describe the outcome, watch the AI scroll through three files at once, and just... vibe with it.

It’s a weirdly passive experience. You’re talking to your computer—Karpathy specifically mentions using SuperWhisper for voice-to-text—and the code just materializes. You see a bug? You don't open the debugger. You just say, "Hey, that sidebar is clipping into the header, fix it," and it’s done.

Honestly, it feels like magic until it doesn't.

Why the term "Vibes"?

It’s called vibe coding because you’re no longer operating at the level of precision. You’re operating at the level of the "vibe" of the project.

If you’ve ever used Cursor, you know the "Accept All" button is the ultimate drug. You're not reading the diffs. You're not checking if it used a map or a forEach. You’re just checking if the button on the screen is blue and if it sends the email when you click it.

Karpathy’s own examples are telling. He used this method to build things like MenuGen and various web apps. He describes the process as: "I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works."

It’s exhilarating. It’s also terrifying for anyone who spent four years getting a CS degree.

The "6-Month Wall" and why critics are screaming

Not everyone is buying the hype. While vibe coding was named Collins Dictionary's Word of the Year for 2025, the backlash in the engineering community has been loud.

The main argument? Technical debt.

When you vibe code, you aren't building a mental map of the system. You’re building a pile of bricks that the AI stacked for you. This works great for a weekend project or a "throwaway" MVP. But what happens six months later when the AI model changes, or the "vibe" shifts, and you have 10,000 lines of code you don't actually understand?

  • Security risks: AI is notorious for leaving API keys in the clear or skipping input sanitization.
  • The "Wobble" effect: CTOs are reporting that vibe-coded apps work fine for one user, but "wobble" and collapse the moment they hit real-world traffic.
  • The Broken Learning Loop: If you never write the code, you never learn the "why." You become a manager of a black box.

There’s a famous Reddit thread where a dev compared vibe coding to an electrician throwing loose wires behind a wall. It looks great from the outside because the lights turn on. But eventually, the house burns down.

How to actually vibe code without breaking everything

If you want to try this, you can’t just be lazy. You have to be a Product Manager instead of a programmer.

The most successful vibe coders—the ones actually shipping profitable apps like Pieter Levels—don't just shout into the void. They follow a specific, albeit looser, structure.

Start with the "Spec"

Don't just say "Make a banking app." That's how you get garbage. Karpathy and others suggest writing a very clear README.md first. This serves as the "source of truth" for the AI. If the AI knows the goal, it can't drift as easily.

Small, iterative loops

Don't let the AI write 500 lines at once. Do it in chunks. "Build the login form." Stop. Test it. "Add the database connection." Stop. Test it. If you let the vibes go too long without a check-in, the hallucinations compound.

Use the right stack

Vibe coding doesn't work in every environment. It thrives in high-abstraction setups:

  • Cursor + Claude 3.7 Sonnet: The current gold standard.
  • Replit Agent: Great for when you don't even want to handle the deployment.
  • Windsurf: For when you need to manage larger, existing codebases without losing your mind.

The expert consensus: It's an amplifier, not a replacement

Here is the nuanced truth that both the fanboys and the haters miss: Vibe coding amplifies what you already have.

If you are an expert engineer, vibe coding makes you 10x faster because you can spot the AI's "vibe" mistakes instantly. You know when a logic flow is wrong even if the code runs.

👉 See also: Why Motion Detector Light Bulbs Are Kinda The Best Secret To Home Safety

If you are a total beginner, vibe coding allows you to build things you never could before, but you are also much more likely to build a "Frankenstein" app that is impossible to maintain.

Andrej Karpathy himself acknowledges the limitations. He’s had moments where the AI can’t fix a bug, and he has to "make random changes" until it works. That’s the reality of the vibe. It’s messy, it’s fast, and it’s fundamentally changing the "hottest programming language" from Python or Rust to English.


Next Steps for You:

  • Download Cursor: If you’re still using a standard editor, you aren't vibe coding. Switch to Cursor and try the "Composer" mode (Cmd+I) to see the difference between simple autocomplete and full-system generation.
  • Build a "Weekend Project": Don't try to vibe code your company’s core infrastructure. Pick a small utility—a pomodoro timer or a personal budget tracker—and try to build it without typing a single line of logic yourself.
  • Write the Spec First: Practice the "Prompt-to-README" workflow. Before you ask the AI for code, ask it to "Outline the architecture and file structure for [Idea]." Once you approve the structure, then ask for the implementation.