Summary: Andrej Karpathy, who popularized the term “vibe coding”—the practice of letting AI tools handle coding with minimal oversight—recently revealed that he hand-wrote his new open source project, nanochat. Despite his earlier enthusiasm for vibe coding in casual projects, Karpathy’s experience highlights the limitations of relying solely on AI-generated code, especially for more complex software. This underscores a broader industry challenge where developers often spend significant time fixing AI-produced code, reminding us that sometimes, the “vibes” just aren’t enough.
What Is Vibe Coding?
Over a year ago, OpenAI cofounder Andrej Karpathy left the company and introduced the term vibe coding to describe a laid-back approach to programming where developers outsource coding tasks to AI tools. The idea is to “fully give in to the vibes,” letting AI generate code with minimal manual review. Karpathy described this method as ideal for “throwaway weekend projects,” where the code might grow beyond full human comprehension but still gets the job done.
Karpathy’s Nanochat: A Hand-Coded Project
Earlier this week, Karpathy released nanochat, an open source project that offers a minimal, from-scratch, full-stack training and inference pipeline. It enables anyone to build a large language model with a ChatGPT-style chatbot interface in just a few hours and for as little as $100. Interestingly, Karpathy revealed that he wrote the entire codebase—about 8,000 lines—by hand, relying on tab autocomplete rather than AI assistance.
He explained, “I tried to use Claude and Codex agents a few times but they just didn’t work well enough at all and were net unhelpful.” This hands-on approach contrasts with his previous vibe coding attitude and highlights the challenges AI tools currently face with complex, foundational projects.
Why Vibe Coding Falls Short for Complex Projects
Karpathy’s experience with nanochat illustrates that vibe coding isn’t a one-size-fits-all solution. While it might be fun and efficient for small, experimental projects, it struggles with larger, more intricate codebases. Nanochat isn’t a simple web app, so the vibe coding approach didn’t cut it.
The Reality of AI-Generated Code in Development
Karpathy’s candid admission aligns with broader industry findings. A recent survey by cloud computing company Fastly found that 95% of developers spend extra time fixing AI-generated code, sometimes taking longer to debug than if they had written the code themselves. Research firm METR also reported that AI tools can actually slow developers down, and some companies have started hiring specialists specifically to clean up AI-generated coding errors.
Ultimately, while vibe coding offers an intriguing glimpse into the future of programming, it’s important to remember its current limitations. Sometimes, the vibes just aren’t enough to get the job done right.