A founder DM’d me on X after reading some of my posts and checking out my website. They had a "problem" with their product – a delightful understatement, as it turned out.
Our calendars played a spirited game of dodgeball for a few weeks, but eventually, the stars (and our schedules) aligned for a screen share. The product, on first glance, was a marvel. On one computer, it hummed along beautifully, a testament to modern web development. Then, with a flourish, they switched browsers, and suddenly… poof. The entire user base (all one of them, the founder) vanished into the digital ether. An instant vanishing act, worthy of a stage magician, if the trick was making your customers disappear.
Even before opening the code, I had a strong suspicion, a nagging feeling in my developer gut: persistence. Or, more accurately, the complete, utter, and glorious lack of it. It was like building a house without a foundation, or a memory palace for someone with amnesia.
I got access to the codebase. It was, shall we say, enthusiastically organized. Messy, but functional, which is basically the official slogan of half the internet’s early-stage startups. It didn’t take long to confirm my hunch: there was no real persistence layer. No database connection. None. The product was a beautiful, stateless butterfly, fluttering gracefully through the user’s current session, then ceasing to exist the moment the browser tab closed.
The founder had used AI to build the product, and honestly, it looked solid. It worked well too, as long as you stayed on the same computer, in the same browser, and apparently never expected the app to remember anything beyond the current nanosecond. If you signed up today and subscribed, you’d have to introduce yourself again tomorrow like it was a particularly awkward first date, every single day.
I explained the problem and how to fix it. At first, I planned to charge for the work – a fair price for saving a product from digital oblivion. But I was struck by their genuine curiosity, their eagerness to learn, and how truly they wanted to build something properly. So instead, we rolled up our sleeves and worked through it together.
Over a few intense hours spread across five days, we performed digital alchemy. We reorganized things, added a proper persistence layer (a database! What a concept!), cleaned up the structure, introduced quality checks and tests (because "it works on my machine" is not a scalable business model), and even improved the prompts behind the system. It was less a fix, more a full-blown intervention.
They launched with a product that was not just working, but actually built to survive contact with reality. Four months later, they have 56 paying customers, more features than they initially dreamed of, and a product that keeps evolving, no longer playing hide-and-seek with its users.
What stayed with me most is their excitement. Every time something works, every time the pipeline goes green, every time the tests and lints pass, they light up like a Christmas tree in July. I haven’t seen that kind of pure, unadulterated joy in years. I think I used to feel that way about my Java builds 14 years ago, before the cynicism of a thousand deployments set in. That’s the thing about experience: you start taking the small wins for granted, forgetting the magic of a successful compile.
The bigger lesson is simple, and it’s staring us all in the face: AI is here to stay. People without traditional engineering backgrounds are going to keep building real products, and some of them will be gloriously, hilariously broken in fundamental ways. But they’re building. They’re creating.
Don’t hate. Help, if you can. Some of them are going to invent the future, one properly persistent, thoroughly tested, and joyfully built product at a time.