From Vibes to Specs: The Evolution of AI-Assisted Coding
How Vibe Coding Changed Everything (And Why Developers Are Moving Beyond It) In February 2025, Andrej Karpathy, co-founder of OpenAI and former AI leader at Tesla, introduced the term "vibe coding" — and software development hasn't been the same since. But vibe coding didn't appear overnight. It was the culmination of decades of evolution in how we interact with code, and it's already transforming into something new: spec coding. Here's the full story. ---------------------------- The Long Road to Vibe Coding The WYSIWYG Era (2003-2013) The seeds were planted long before LLMs existed. Consumer website builders like Squarespace (2003/04), Wix (2006), Weebly (2006), and later Webflow (2013) established expectations for instant feedback, layout control, and "describe then tweak" workflows that would later resonate with AI-assisted development. These tools made non-programmers feel like they could create software. The promise: skip the code, focus on the outcome. The API Moment (2020-2024) Everything changed when AI became accessible. OpenAI's API launched in 2020, normalizing the pattern of "call a model, get code/text" — the foundation of modern AI coding tools. Tools like GitHub Copilot (2021) started as "glorified typers" — advanced autocomplete that finished your code as you typed. Then came agentic chat tools like Cursor, which could analyze entire codebases and hold multi-turn conversations about your code. But these were still assistants. You were still writing most of the code. The Vibe Coding Breakthrough (February 2025) Then Karpathy dropped his post. He described vibe coding as "fully giving in to the vibes, embracing exponentials, and forgetting that the code even exists" — a fundamental shift where developers provide natural language descriptions and let AI generate complete, working code. Instead of translating ideas into the rigid syntax of programming languages, developers could now just talk, describe what they wanted, and let AI handle the rest.