More than a year has passed since Andrej Karpathy, one of the cofounders of OpenAI and among the most recognizable names in the field of modern artificial intelligence, departed from the company. During his time away, Karpathy not only continued to influence the global conversation around AI but also introduced and popularized the now widely discussed concept of “vibe coding.” This term refers to the increasingly common practice of outsourcing or delegating coding responsibilities to AI-based programming assistants—systems that can automatically generate, test, and refine code segments based on human prompts or project objectives. For many developers intrigued by these advancements, vibe coding embodies a frictionless, almost intuitive style of creation, where one can “feel out” software design through conversational interactions with intelligent tools rather than meticulously crafting every line of code themselves.
However, earlier this week, Karpathy offered a strikingly different perspective when he unveiled his latest personal initiative: an open-source model he calls *nanochat*. In a candid admission accompanying the project’s release, he revealed that every element of the system had been carefully written by hand—an intentional departure from the philosophy of vibe coding that he himself had helped define. Nanochat, according to Karpathy’s own description, is constructed as a “minimal, from-scratch, full-stack training and inference pipeline”—a deeply technical framework designed to allow anyone, even individuals with modest resources, to assemble their own large language model that functions similarly to ChatGPT. Remarkably, he emphasized that such a model could be operational within mere hours and at a cost of roughly one hundred dollars. The project’s codebase, he stated, consists of approximately eight thousand lines of clean, structured code—work produced entirely through his own manual effort. This decision, Karpathy explained, was not necessarily born from preference but from necessity: despite his advocacy for AI-assisted programming, he found that the current generation of coding agents simply could not fulfill the specific technical requirements he encountered.
In his accompanying reflections, Karpathy elaborated that nanochat was “basically entirely hand-written, with occasional reliance on tab autocompletion.” Though he attempted to employ a range of popular AI programming tools, including agents based on systems such as Claude and Codex, he concluded that none of them delivered sufficiently reliable or contextually accurate output to assist with this level of sophisticated work. Rather than accelerating development, these tools often hindered his progress, proving more detrimental than helpful when precision and architectural coherence were paramount.
This level of skepticism represents a notable departure from Karpathy’s earlier enthusiasm for vibe coding, which he had once described as particularly well-suited for small, disposable, or experimental weekend projects. In the now-famous post that originally propelled “vibe coding” into the lexicon of modern programmers and tech enthusiasts, Karpathy described his approach with a tone of playful surrender. When employing AI coding tools, he said, he preferred to “fully give in to the vibes”—allowing the algorithm to shape the codebase while he observed and intervened minimally. His process involved a kind of effortless flow: instead of deeply analyzing the underlying structure, he would simply feed in error messages as they appeared, often finding that the AI could patch its own mistakes through rough iteration. Over time, the resulting codebases would balloon in complexity, frequently surpassing his immediate comprehension, but as long as the system ran and the interface worked, he considered the results satisfactory. “I just see stuff, say stuff, run stuff, and copy-paste stuff,” he famously summarized, underscoring the strange mix of faith and chaos that defines AI-assisted programming at its most laissez-faire.
Of course, nanochat is not an ephemeral website or experimental app—it is a rigorously engineered model training pipeline, where stability, transparency, and architectural clarity are nonnegotiable. In such cases, the whimsical energy of vibe coding, while delightful in exploratory contexts, fails to provide the consistency required for sustainable development. Karpathy’s experience serves as a microcosm of the broader conversation about the limits of AI in software creation: even as these tools grow increasingly capable, they remain constrained by a lack of true contextual understanding and an inability to engage in long-term reasoning about complex system design.
Recent data lends further weight to this reality check. A comprehensive survey conducted earlier this year by the cloud computing company Fastly reported that a staggering ninety-five percent of developers who used AI coding assistants found themselves spending additional time correcting or reworking machine-generated code. Many participants even admitted that the time required to identify and fix AI-introduced errors often exceeded the hours initially saved by automation. Similarly, independent research by the analytics firm METR observed that integrating AI tools into certain workflows could paradoxically reduce efficiency, slowing developers rather than accelerating their productivity. In tandem with these findings, several organizations have begun hiring specialized engineers—human experts dedicated specifically to cleaning up or rewriting the tangled, inconsistent outputs produced by AI coding systems.
Ultimately, Karpathy’s recent confession underscores a broader truth: vibe coding remains a fascinating experiment in human–machine collaboration, yet its boundaries are becoming increasingly apparent. While artificial intelligence can mimic human intuition to a degree, it cannot substitute for deliberate craftsmanship, deep comprehension, and the subtle insight that experienced developers bring to their work. And so, as Karpathy’s hand-written nanochat demonstrates, sometimes—the vibes are simply not enough.
Sourse: https://gizmodo.com/even-the-inventor-of-vibe-coding-says-vibe-coding-cant-cut-it-2000672821