AI
·4 min read

From AI Demos to Large-Scale Products: Why 'Vibe Coding' Breaks

Main cover illustration for article: From AI Demos to Large-Scale Products: Why 'Vibe Coding' Breaks

If you’ve been following my recent posts, you know I’ve spent a lot of time recently building AI demos. From building local chatbots with Gemini and Angular to experimenting with WebMCP agents and creating projects like mcpclick.app.

When I first started doing this, it felt like magic.

I would describe what I wanted to build, and let agents like Cursor, gemini-cli, or Antigravity generate and apply the code directly into my project. It just worked. I didn't worry about architecture diagrams or writing detailed documentation. I just wrote a prompt, trusted the agent to execute it, and moved fast.

This is what people call "vibe coding". You just vibe with the AI, and code gets written.

But as I tried to move past quick demos into building larger, more reliable products, I hit a wall. Hard.

The Honeymoon Phase Ends

In those early projects, the first couple of weeks were always incredible. I felt like a 10x developer. But then, something would shift.

I remember asking the AI for a small change in a routing module. It gave me the code, I pasted it, and the routing was fixed! But suddenly, my dashboard broke. I asked the AI to fix the dashboard, and then a totally unrelated API endpoint failed. It felt like a constant game of whack-a-mole.

By the time the project grew to forty or fifty files, the AI started hallucinating dependencies that didn't exist in my package.json. It would propose solutions that completely ignored the architecture we had "agreed upon" three days ago.

I found myself spending more time writing massive prompts to explain the entire history of the project to the AI than I spent actually writing code. What used to take me 20 minutes was taking me three hours.

The code still worked, mostly. But I realized that I was the only one who actually knew why it was structured that way. And honestly, after a long weekend, even I started to forget.

AI Isn't the Problem. My Process Was.

My first reaction was to write longer, more complex prompts. I tried to feed every single file into the context window. But the AI would still contradict itself from one chat session to another.

That’s when I realized: AI models are probabilistic. They will never be 100% deterministic. If you rely on a chat session to hold the context of your application, you are building your house on sand. Every time you open a new chat, the agent starts from zero.

Before AI, if a new developer joined the team and just started changing code without understanding the architecture, they would break things too. How did we solve that? With specifications and documentation.

With AI, it’s the exact same problem, it just happens ten times faster. I didn't need a better prompt. I needed a reference artifact.

Finding Order in the Chaos

I realized that my role had to change. I couldn't just be the person pasting code anymore; I needed to become the orchestrator.

This realization perfectly aligned with a methodology called Spec-Driven Development (SDD). The idea is brilliant in its simplicity: before the AI writes a single line of code, you create a living document (a spec) that describes what is going to be built, why, and the acceptance criteria.

The AI stops being a co-founder making architecture decisions, and becomes what it is best at: an execution engine following a strict, written contract.

Since I started adopting this mindset—writing the spec first, executing with AI second, and reviewing as a human third—my projects have become predictable again. The chaos is gone.

Recap

Moving from just typing prompts to having a real process was a game changer for me. In the next few articles, I am going to save you hours of trial and error. I will show you exactly how to write specs that AI actually understands, and how to create a loop that works for any project.

If you are feeling the pain of AI projects breaking down, I highly recommend reading Spec-Driven Development by Bezael Pérez.

I don't earn any commission for saying this, but this is exactly the book I wish I had 8 months ago when I started building real AI products. The best part? It is not tied to a specific tool or framework. It teaches you the foundations you can use anywhere to regain control of your code.

Photo by Jessie Maxwell on Unsplash


Real Software. Real Lessons.

I share the lessons I learned the hard way, so you can either avoid them or be ready when they happen.

User avatar
User avatar
User avatar
User avatar
+13K

Join 13,800+ developers and readers.

No spam ever. Unsubscribe at any time.

Discussion