I’ve been on the AI bandwagon since day one.
Text generation? Obsessed. Image generation? Wildly impressive. AI voice tools? Creepy good. But for some reason, I never actually got around to using AI for what a lot of people rave about: writing code.
That changed this past Sunday.
I had a small side project in mind—nothing massive, just a basic dashboard that monitors the status of a few services. Think: green for “all good,” orange for “degraded,” red for “down.” It’s something I’ve needed for a while, and I figured it’d be the perfect excuse to test the waters with AI-generated code.
I spun up Firebase from Google and thought I’d spend the day playing developer.
Round One: A Decent Start… Until It Broke
My first prompt was a medium-length explanation of what I wanted. I asked it to build a simple UI, connect it to Firebase, and give me a way to mark services as up, degraded, or down.
The results were… not bad! The first version worked. It wasn’t beautiful, but it was functional enough to feel like a win. Encouraged, I started adding features—just a few extra toggles and some minor UX polish.
And that’s where it all went off the rails.
Almost immediately, the code broke. And I mean broke. Errors everywhere. So I tried fixing it—prompt after prompt, tweak after tweak—but no luck. It felt like trying to repair a Jenga tower after the bottom layer had already been pulled out. The codebase had become too complex and too tangled to troubleshoot effectively.
So I ditched it and started over.
Round Two: A Fresh Start with More Detail
This time, I fed the model a much longer and more detailed prompt. I included everything from the start: the core functionality plus all the little features I’d added to v1.
The results? Meh.
It took two or three iterations just to get the basics right—like making sure the “Service Up” box was green. There were strange inconsistencies and weird implementation choices, but I eventually got something running.
Except… it was unusable. The input fields lagged so badly they may as well have been frozen. Clicking anything felt like wading through molasses.
The app technically worked, but only in the same way a car technically works if you push it down the highway.
So, Is AI Coding a Bust?
Not at all.
Here’s my honest takeaway: LLMs aren’t ready to replace developers, especially when it comes to production-quality apps. The code they generate can be messy, inconsistent, and hard to debug. Once something breaks, it’s often easier to start over than to fix it.
But—and this is a big but—they’re amazing for MVPs, prototypes, and mockups.
They’re a godsend for rapid iteration. You can test ideas, explore different UI layouts, or just get a feel for what’s possible without investing hours (or days) of dev time. For someone like me—who’s technical, but not a full-time developer—that’s incredibly valuable.
The Real Superpower: Mental Clarity
What surprised me most was how the process of prompting helped clarify what I actually wanted from the app. Each version, even if it failed, forced me to think more deeply about the UX, the flow, and the features I cared about. By the time I was done, I had a crystal-clear vision of what this tool should look like.
And that’s probably the best use case right now: AI as a co-pilot in the ideation phase.
If you’re building a serious app, you’re still going to need a real developer (or a solid grasp of the code yourself). But if you’re in the early stages—dreaming, planning, sketching—it’s like having a hyperactive assistant who never gets tired and doesn’t judge your bad ideas.
Final Thoughts
Will I use AI to build production apps again? Probably not anytime soon.
But will I use it to prototype ideas, spin up test apps, and experiment with concepts? Absolutely. The speed at which you can go from “I have an idea” to “I can see it working” is game-changing.
So yeah, I still believe we should all have a little AI in our lives.
Just… maybe don’t fire your dev team just yet.