The Cowboy Way to Build a Product: My Reckless AI Code Generation Experiment and the Gravity of Tech Debt
Vibe Coding indeed seemed like magic. Something that would have taken weeks took minutes, and I was giddy. But without process, tech debt rapidly grew. Each new feature was harder to add, and I was spending most of my time trying to hack around the Frankenstein’s monster I had created.
The stories of product creation through vibe coding seemed impossible and enticing, and that's where the Burrow AI experiment began.
In the Saddle: Recalibrating My Skills
My background (abridged) is that I was once a developer for ERP systems, had a very good understanding of databases, and my master’s thesis was on machine learning… but that was a long time ago. My more recent experience was on the product and business side, and the stories of product creation through vibe coding seemed impossible and enticing. That’s where I wanted to explore.
So, I set up a GPT in ChatGPT (“Mario”) focused on bringing me up to speed on the state of AI and tools that were available. Mario gave me some ideas for IDEs (integrated development environments) to try, and I decided on Replit. I had my tool, I had my goal, and the only thing left to do was to throw out the rulebook.
That’s when things got crazy.
The Reckless Rider
I decided to practice suspension of disbelief and create an initial version of Burrow, throwing out development best practices and assuming it would do everything right. Why not? This is an experiment after all.
My cowboy vibe coding began in July 2025. I created a Product Requirements Doc (PRD) in ChatGPT, fed it into Replit, and pressed go.
Vibe Coding Indeed Seemed Like Magic
It indeed seemed like magic.
Replit created an initial version of Burrow nuts to bolts. In a few minutes, I had a working interface I could click around in, and I was impressed! The core idea was there. Something that would have taken weeks to develop previously was in front of me, and I was giddy.
I started going further, playing with UX, and adding features willy-nilly. Replit was adding all kinds of tools and plugins to fuel my fevered dream. It helped me configure external connections with reasonable ease - something that previously had always given me anxiety.
Tech debt be damned - I was going big and being cavalier about thinking deeply. I just wanted to see the features on the screen and couldn’t care less about what was under the hood.
With a cavalier disregard for thinking deeply, I went big on features: mining local places, scraping websites, implementing “doc upload” with OCR, an embedded AI chatbot that interactively returns local results, account management, admin interfaces, and usage monitoring with throttling. All I had to do was ask, and it would try to do it… and I usually got something that mostly worked.
The Gravity of Tech Debt
But the gravity was building. Each new feature was harder to add as the underlying code (which I was ignoring) grew increasingly complex. After a couple of weeks, I was spending most of my time trying to hack around the Frankenstein’s monster I had created.
So, for the first time, I looked at the code.
Wow.
Anyone who has worked with an outsourced dev shop might guess what I found. In my experience, these shops deliver to your product specs come hell or high water. They will get the output you asked for, but frequently at the cost of HOW they do it, and my code looked just like that.
Spaghetti Code and Termite Foundations
Burrow v1 had been built on an Italian potluck feast of spaghetti code, with quality in many places on par with a junior-level developer.
It wasn’t surprising, but it wasn't what the AI hype promised.
Keep in mind, this was July 2025, and I did experience some flashes of brilliance from my AI Agent, but the foundation had a lot of termites, so I deemed it unusable. It was just too much tech debt.
Was it a failure? Not at all. I was stunned by what was possible, and the experience helped me normalize the current state of technology. That was a huge success!
And to be clear, I did NOT view this as a Replit problem. I was definitely the reckless driver behind the wheel of something powerful. I just didn’t understand how to use it properly or its limitations.
It was time to reflect, process what I had learned, and recalibrate. I also needed to figure out how an AI team works together.