Two Days of Work, They Said: Chronicle of a Launch in the Heatwave

I’d decided to show it to the world. Noble resolution. Except that “showing a piece of software to the world” isn’t a matter of hitting a “Publish” button and going to pour yourself another coffee. It’s an obstacle course. And the runner, in this case, had zero field experience.

First mountain: how do you even distribute this thing?

The very first question was: how are people going to install Le Grimoire? A file to download from my site? A trip through the Microsoft Store?

I went with the Store. And not just for the reassuring storefront, even if that counts: seeing a piece of software available on the official Store inspires trust, it puts people at ease about security. But there was a second benefit, a cleverer one.

If I’d distributed my installer directly, I would’ve had to buy a code-signing certificate. Except here’s the trap few people know about: even with a certificate, even the most expensive one, Windows now displays a big security warning until your software has built up its “reputation.” And that reputation gets built through hundreds of downloads, over several weeks. In other words, at launch, when nobody knows me, my very first users, the most precious ones, would’ve been treated to a lovely red “Windows protected your PC” panel. Enough to scare off anyone in their right mind.

The Store fixes that in one stroke: Microsoft re-signs the app, it inherits a full reputation, and the user never sees the slightest warning. A double benefit, then: I reassure people, and I dodge both the cost of the certificate and the screen that scares them off. A decision I don’t regret for a single second.

Second mountain: the software that works on my machine

Then comes the famous “but it works on my machine.” A classic.

Going from software that runs quietly in my development environment to a real, packaged application, ready to be installed on anyone’s computer, is a whole other world. Without diving into the jargon: tons of file paths that worked in development mode stopped working once the app was packaged. Many, many things to rework, one by one.

And since I obviously had to manage licenses for all these good people, off I went to rent a server at OVH, to be configured, secured, maintained. Another layer. Another thing to learn on the fly.

Third mountain: the bugs that come out of the woodwork

But the real trap, the sneaky one, is this.

Throughout the whole development phase, you pile features on top of features. And with each layer, you unknowingly sow little discreet bugs, invisible ones, that sleep peacefully because you never go through exactly the right sequence to wake them up.

Then comes the time to finalize. You test everything, methodically, the way a real user would. And that’s when they all wake up at once. One by one, then in clusters. One fixed bug reveals two others. You think you see the end, and the tunnel gets longer. It was endless.

The heatwave saga

The best part of all this is the timing.

I’d booked two weeks of vacation, confident like an idiot, convinced I’d wrap the whole thing up in a couple of days. Two days. I’m still smiling about it.

Those two weeks weren’t enough. I ran days from six in the morning to eleven at night, fueled by liters of coffee. All of it in the middle of June’s heatwave, with no air conditioning, slowly melting in front of my screen while my computer, too, fought not to overheat. There were two of us sweating, the machine and me.

And while I was fighting this trench war against my own bugs, another front was dragging on: the payment provider was taking weeks to validate my application. Impossible to open the shop until that was wrapped up. Nothing like an endless administrative approval to remind you that, no, you don’t control everything.

Thankfully, I wasn’t alone in the trench. Claude Code, my copilot from day one, was there for every build, every fix, every “wait, why is it crashing now?” Piling up compilations, hunting down errors, starting over. Again. And again.

The blessed moment

And then one day, it happens. That almost unreal moment.

You test, you retest, you click everywhere like a madman. The interface responds. Nothing crashes. Nothing freezes. You sit in front of the screen for a moment, suspicious, on the lookout for the next crash that never comes.

That’s when I told myself my little phrase, the one that sums up my philosophy pretty well: if there’s a bug left somewhere… then it’s not a bug anymore, it’s a feature.

Haha.

Okay, I’ll admit it, just to be safe, I keep fixing them anyway.


Le Grimoire was online. Available. Real. I should have burst with joy, popped the champagne. Except a brand-new anxiety, a sneaky one, was already poking its head out. Because having a piece of software is one thing. Getting anyone to know about it is another. But that’s for the final episode.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.