Part 1: Got into a Fight with my AI Coding Assistant and Lost

fight with ai
Agile Scrum Artificial Intelligence Personal Growth Software DevelopmentLeave a Comment on Part 1: Got into a Fight with my AI Coding Assistant and Lost

Part 1: Got into a Fight with my AI Coding Assistant and Lost

It’s 8pm. Kids are in bed. I’m determined to get this working tonight. It is so close.

It is 2am, I ran out of tokens, spent another $50 to top it up, each prompt feels like THE one that will finally work… It doesn’t work. I resort to threatening my assistant’s grandmother if it does not get it right (many virtual grandmothers were lost). Eventually, I realized that my AI assistant fooled me into thinking we were making progress.

TLDR; I learned the hard way that there’s a difference between AI coding FOR you vs. WITH you. Here’s what that looks like…

The Seductive Promise

Just weeks earlier, I was riding high on AI productivity. In one incredible 2-week sprint, I deployed two new cloud solutions—Langfuse for AI model observability and Outline for team documentation—while building a custom AI chat service called JD Pro and teaching an AI mastermind course.

I never would have dreamed of that kind of productivity a year ago.

So when I decided to build a multi-agent AI solution using the Agno Framework, I was confident. I’d done my research, chosen a modern framework with great community support, and had my trusty AI coding assistant ready to work. In just a few hours, we had a working prototype migrated from my previous version of the agent where I did not use any framework.

It felt like magic. We were 30% done already and I leaned into “vibe coding” large sections of the solution.

The Cruel Math of Almost Working

A few days later, the solution was not performing as well as I hoped, but it seemed like we were 80% of the way there.

The solution was taking job descriptions and coordinating multiple AI agents to create tailored reports. Sometimes it worked beautifully—generating insightful analysis for marketing manager roles. Other times, it would randomly produce reports for “Senior Software Engineer” positions instead.

“I am now confident it’s working!” my AI assistant would report after another “fix”. At times it looked like it was fixed, only for me to realize that it was not actually fixed after doing some manual tests.

Progress slowed drastically. It had taken me 4 days to get to 80%. 3 more days only got me to 90%.

The 2am Breakdown

After a few more days of staying up to 2am, thinking my AI assistant got it working, testing, learning it was still not fixed, over and over again. I could not get past 90% complete. I was ready to throw Cursor (my main AI coding assistant) in the trash. I was so frustrated with it. Sometimes it is a complete idiot. And then sometimes it seemed superhuman.

It was like managing an employee who apologizes, follows instructions, then reverts to doing things wrong again a few minutes later. I tried cursor rules, explicit documentation, and yes—I threatened its grandmother.

Nothing worked. Cursor simply could not get this across the finish line. When I dove in trying to solve it myself, I quickly got lost in the multiple layers of abstraction, lack of knowledge share, lack of familiarity with the Agno Framework, multi-threading, async vs sync, etc… it became clear that I was at a dead end. My hope of leveraging AI to help me code this solution in record time, had completely backfired.

The Philosophical Shift

That’s when it hit me. Somewhere between calling it a “complete idiot” and wanting to “take a really big stick and hit it over the head,” I realized I was approaching this wrong.

Instead of “How do I make AI code better?” I should have been asking “How do I code better with AI?”

This shift gave me a clear path forward. It was really stinking painful, all that code I’d worked so hard on having Cursor write for me, would never see the light of day. Maybe I couldn’t deliver a working solution, but at least I could gain some personal growth from the failure.

In agile, the measure of productivity is working code. If you’re frustrated, have very little working code compared to hours or days ago, and haven’t learned how to do whatever you’re building without AI doing it for you—Stop. You’re in a trap.

The Reset

Here’s what I learned about getting out: If AI can’t do it for you, maybe it can do it with you.

I scrapped the entire solution and started over—but this time with a completely different approach. Instead of trying to save time by having AI code for me, I had it research and teach me. We created documentation together. We planned together. We understood the architecture together.

The progress felt slower at first, but it was real progress, not the illusion of progress.

Many late nights and early mornings later, we delivered a multi-agent solution that actually works consistently. We’re not production-ready yet, but I have zero doubt we’ll get there because I understand the foundation we’ve built.

The Real Productivity Trap

Here’s what the hype won’t tell you: AI coding assistants are incredibly seductive because they excel at concepts that have been done hundreds of times. They can build you a marketing website, a basic CRUD app, or simple integrations with impressive speed.

But don’t let that fool you into thinking they can build complex, maintainable, secure software solutions without an experienced engineer guiding every step.

The productivity trap isn’t that AI is bad—it’s that AI makes you feel productive when you’re actually accumulating technical debt, talent debt, and knowledge gaps. The combination of these three is a recipe for getting lost in a valley of death where the nuclear option becomes your best choice.

You don’t want to face that “Are you sure?” dialog twice—once when you decide to let AI code for you, and again when you’re hitting the big red reset button after weeks of work.

What Actually Works

AI doesn’t reward those who try to replace software engineers. It rewards those who leverage it as a collaborative partner, enhancing both their skills and workflow.

The story I keep hearing is that you need to completely change to start leveraging AI. But the truth is simpler: develop the skill of adapting AI to you and what you know it takes to achieve results.

When you get this right, coding with an AI assistant helps you grow and accomplish more than you ever thought possible. It’s not about AI writing code for you—it’s about AI accelerating your learning and amplifying your expertise.

Coming Next: Part 2 – The Technical Deep Dive

In the next post, I’ll share specific tips and methodologies that transformed my AI collaboration: Research → Teach → Plan → Code. Plus the prompts, cursor rules, and security considerations that are working for me when crafting cutting edge production software.

Have you found yourself stuck at 90% complete? What broke you out of it? Share your story in the comments.

Software Architect and Senior Full Stack Developer excited about crafting innovative user experiences with GenAI and Blockchain.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top