Writing

When the Model Makes the Difference

Recently, like many developers around me, I got fascinated by the new generation of AI coding agents and started to think that vibe coding might actually be a real thing.

A few months ago I tried some early versions. Interesting tools, but with limited usefulness in practice. Good for small tasks, but not something I would rely on for real projects. That changed recently.

I have many side projects sitting on my shelf — some unstarted, some unfinished — simply because I never had enough time to complete them. With the new models I started bringing some of them back to life, which is a surprisingly exciting experience.

Today I was working on one of these projects. As the project grows, the codebase becomes more complex and naturally harder for an AI agent to grasp. I ran into a nasty bug related to routing in a Vercel rewrite setup and spent more than two hours trying to fix it with the AI.

Nothing worked, and I started thinking again that maybe AI coding is only useful for small and simple projects...

Then I realized I was running the agent on an older model in my IDE.

So I reverted all previous unsuccessful attempts, switched to the latest SOTA model, and pasted the exact same prompt describing the problem.

The agent thought for about 11 minutes, changed maybe ten lines of code — and voila, the issue was fixed in one shot.

The lesson for me: if you want to explore the vibe around vibe coding, don’t waste time with mediocre models. Try the latest ones first.

The difference can be dramatic.

At least it was for me.