
Back in the early days of Twitter, the “Fail Whale” was something you’d commonly encounter. The service was clearly breaking under the strain of growth, but the promise of what twitter could become was so intoxicating that people were annoyed but strangely tolerant of it. We shrugged, refreshed, and kept tweeting.
Fast forward to today and our acceptance of an imperfect user experience has diminished considerably. If the onboarding has any friction or the pages render improperly on mobile people will reject an app as janky.
That being said, I think we’re in a fail whale moment right now with vibe coding—using AI as your development copilot, or in my case, as your main developer. The technology isn’t fully there yet, but the promise is so great that we accept, even expect, failure along the way.
Demo Ready vs. Production Ready

Over the past few months I’ve been building (but mostly testing) micro apps like —DECIDER.LAND, an AI-powered debate platform, and a MR CANADA website, that has a sovereignty risk scanner for Canadian companies. In both cases, AI helped me go from zero to something that looked real in shockingly little time. I had working landing pages, auth flows, dashboards, even a Stripe integration.



But once in the wild it was hard to know what was working and what wasn’t. A bug would pop up, I’d fix it and then 5 minutes later it would re-emerge. I’d fix one thing and something else would break. For DECIDER.LAND I had a whole distribution plan in place that relied on people sharing their debates publicly but minutes before I launched, the public pages became inaccessible (for reasons I still don’t fully understand). The whole point of vibe coding is that you can be iterative and get stuff out to a user base and then iterate. In this spirit I pushed the app out with all of its imperfections to see what would happen. It’s relatively stable now (probably at about 95% uptime) but I’m constantly babysitting it and wondering what is about to crack.
This is the same lesson the Twitter Fail Whale taught us: the real test isn’t does it work once? The real test is does it keep working when it matters?
Where It Breaks

I’ve come to realize that AI gets you demo ready, but not quite production ready. Landing pages? Easy. A sign-up flow? No problem. A dashboard with some fake data? Absolutely. But the second you invite real users, edge cases start crushing you.
Subscriptions expiring mid-session. Customers changing plans mid-month. Two users editing the same thing at once. That’s when you see problems emerge.
This is the part the vibe coding hype cycle doesn’t tell you: production software isn’t about code that runs once. It’s about systems that don’t collapse when things get weird.
Becoming an AI Supervisor

The mindset shift for me was moving from being an AI consumer to being an AI supervisor. I used to just take what the model gave me, string it together, and hope for the best. Now I break tasks into small steps, review each output, and never assume “it runs” means “it’s solid.”
I’m also starting to invest in the boring stuff: logs, manual test runs with real data, and a spreadsheet where I track what actually works in production versus what just looked good in dev.
I don’t need to be a senior developer, but I do need enough fundamentals to know when I’m flying blind. Why indexes matter. How webhooks work. The difference between sessions and tokens.
The Promise Is Still Worth It
Even with all these frustrations, I’m more bullish than ever. Just like we tolerated the Fail Whale because we could glimpse what Twitter might become, I think builders tolerate the fragility of vibe coding because we can see what’s coming.
When I look at DECIDER.LAND, I don’t see a fragile demo. I see a glimpse of how debates could be run in the age of AI. When I look at MR CANADA, I don’t see a half-baked crawler. I see the kernel of a tool that could help companies rethink sovereignty and infrastructure in a globalized economy.
That’s the paradox of this era: the cracks are real, but so is the promise. We’re building with tools that aren’t quite ready for prime time, but they’re ready enough to let us feel what the future could be. And that’s worth a few fail whales along the way.
Final thought: If you’re building in this moment, don’t get discouraged when things break. Expect them to. Treat AI like a junior dev who works fast but needs supervision. Ship small, log everything, learn the 20% of fundamentals that prevent disasters. This is the fail whale era of vibe coding, and if history is any guide, the next chapter will be worth the pain.