Newsletter Issue #1

What's Vibe Coding, really

November 19, 2025 By Chris Hartwig

It all started with this tweet from a highly regarded software engineer, Andrej Karpathy. He holds a PhD from Stanford, worked as head of AI at Tesla, and cofounded OpenAI. He’s a genius.

Now I hear people talk about vibe coding like it’s just two prompts in a web app on a free plan that gives you nothing but AI slop. Yes there’s a lot of hype, but let’s first define what Vibe Coding really is. Then we’ll decide if the hype is about vibe coding or about the AI app generator trend.

The tweet gives us more information about what Vibe Coding really is, in the words of Karpathy:

“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. It’s possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like “decrease the padding on the sidebar by half” because I’m too lazy to find it. I “Accept All” always, I don’t read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I’d have to really read through it for a while. Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away. It’s not too bad for throwaway weekend projects, but still quite amusing. I’m building a project or webapp, but it’s not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.”

That’s not your young nephew speaking, that’s Andrej Karpathy. His understanding of AI and coding is deep. Way deeper than most people. He’s likely down-playing his own real involvement in the process, because he’s just good. You can bet he’s capable of building a web app by prompting an AI.

The Engineer’s Perspective

What strikes me most about Karpathy’s description is that vibe coding comes from a place of deep technical expertise. This isn’t someone who’s new to coding and excited about AI tools. This is a world-class engineer who understands code at a fundamental level and is now operating at a completely different abstraction layer.

The key phrase here is “forget that the code even exists.” This isn’t about not understanding code. It’s about having such confidence in the underlying AI systems that you can operate at the level of behavior and experience rather than implementation details.

Beyond the Surface

Vibe coding, as originally defined, is deeply technical. It involves:

  • Trusting the diff process completely
    Accepting all changes without manual review to maximise the work the AI can do for you
  • Operating at a conceptual level
    Describing changes in natural language to maximise the work the AI can do for you
  • Debugging through description
    Copy-pasting errors without analysis to maximise the work the AI can do for you
  • Working around limitations
    Letting AI find solutions when direct fixes fail to maximise the work the AI can do for you

The few people I know who are very good at coding all say the same thing: they’re lazy. They’re usually not: they are extremely focused and can work effortlessly when in the flow. What Karpathy is describing is AI coding in “flow state”, in “the zone”.

This requires a sophisticated understanding of how AI coding tools work. You need to know what’s possible, what tends to work, and how to phrase requests in ways that produce reliable results. It may feel effortless to some, but it’s not trivial.

The Misappropriation

The term has been misappropriated to describe surface-level AI app generators that let users create simple applications without coding knowledge. This is a completely different use case from what Karpathy described. Just because the term is cool doesn’t mean you can use it for your “cool” AI coding tool.

True vibe coding is what happens when expert developers leverage AI to work at a higher level of abstraction. It’s not about democratizing coding. It’s about amplifying the capabilities of experienced engineers.

The Real Implications

When someone at Karpathy’s level says “the code grows beyond my usual comprehension,” they’re not making a virtue of ignorance. They’re describing how AI tools can now create solutions that push the boundaries of what even expert developers would typically implement themselves.

This is actually profound. It suggests that AI coding tools have reached a point where they can implement solutions that even world-class engineers might find time-consuming to write from scratch.

The Future of Expert-Level AI Coding

Vibe coding represents the next phase of AI-assisted development. Not for beginners, but for experts who are comfortable operating at a level where the implementation details are abstracted away by tools they trust completely.

As these tools continue to improve, we’ll likely see more developers operating in this “vibe mode” for the right types of projects. It’s not appropriate for all contexts. Safety-critical systems or situations requiring deep optimization still need traditional engineering approaches. But for the right problems, vibe coding represents a new relationship between human intention and code implementation.

The real insight is that vibe coding isn’t about dumbing down programming. It’s about smartening up the interface between human creativity and code implementation.

This is the future of expert-level AI coding. And it’s a far cry from simply prompting a web app generator.