Another Week of Vibe Coding: Lessons Learned

So I’ve spent another week “vibe coding” on my SaaS platform. You know that old phrase “one step forward, two steps back”? Yeah, it’s been living rent-free in my head lately.

If you’re new here, “vibe coding” is what I call this new approach where I let AI do a lot of the heavy lifting while I guide the process. It’s been… an education.

Spreading the AI Wealth (Or Saving My Wallet)

I’m using Cline (https://cline.bot/), and if you’ve been looking into AI coding tools, you’ll know these things can get expensive if you’re not careful. Cline is this awesome AI coding assistant that helps you build applications through conversation, but accessing the more powerful AI models it uses can add up quickly. To spread the wealth (and protect my credit card), I’ve been switching models depending on the task.

I’ll use Gemini Flash for the simple stuff since it’s free. When things get trickier, I’ll switch to Claude Sonnet 3.7. I recently signed up for Google Cloud and got $300 in free credit, so sometimes I’ll even bring Gemini Pro 2.5 into the mix.

Why all the switching? I let the free models do as much work as possible until they get stuck or confused, and only then do I move to a better—but more expensive—model. And when I say expensive, I’m not exaggerating. I racked up $30 in ONE DAY for model usage. For a project that isn’t making any money (and might never make any money), it’s an investment that may or may not pay off. My wife hasn’t noticed the charges yet, so… let’s keep that between us.

When AI Gets Too Creative With Your Database

This week I had to refactor a large part of the code. When I say “I,” I mean the AI did most of it while I supervised. I was letting AI handle much of the work and only testing through the UI. What I didn’t notice until too late was the inconsistency in database column naming conventions—some were camelCase, others were snake_case. This caused the AI to have some… let’s call them “creative moments” while trying to get things working.

Also, it made a few database tables and relationships way too complicated. So while I had made good progress on features, I had to spend a full day working through the refactoring and fixing all the bugs that emerged. It was like cleaning up after a party where the guests rearranged your furniture while you weren’t looking.

The problem with letting AI write your code is that it’s brilliant enough to build something complex but occasionally misses simple conventions that later cause headaches.

Lessons Learned (The Hard Way)

I’m now back on track and hopefully moving forward again. So what lessons did I learn from this week’s adventure?

First, you need to watch what the AI is doing. In Cline, use “plan mode” and maybe don’t just let it auto-write code in certain places. It tries its best, and the platform has some pretty cool features going for it, but there are times when AI does things that make you tilt your head and say, “But… why would you do that?”

The second lesson: really use the plan mode. Make sure the AI has a solid plan before writing any code. Ask questions, make comments, and treat the interaction like you’re the customer and the AI is the developer. Don’t be afraid to say, “That doesn’t make sense” or “Let’s try a different approach.”

I’m going to have to, at some point, really dive into Node.js and React so I can have a more solid foundation to understand how the code is structured and whether it’s done properly. Being a backseat driver only works if you know which direction you should be going.

Moving Forward

Despite the setbacks, I’m still excited about this project. There’s something magical about watching code materialize before your eyes, even if you occasionally have to wrangle it back into shape. It’s like having an enthusiastic junior developer who works at superhuman speed but sometimes misses the forest for the trees.

For next week, I’m setting clearer guidelines and spending more time reviewing database schemas before letting AI loose on the code. Maybe I’ll even create a style guide for it to follow.

Have you tried coding with AI assistance? I’d love to hear about your experiences in the comments below. Are you finding the same challenges, or have you discovered tricks that make the process smoother?

Until next time, happy vibe coding!