Saturday, May 9, 2026
Month 63
April was a refactor month. Those are hard to feel good about; the numbers are big and the visible progress is small. That's fine — it's what needed to happen — but it's worth being honest about what it actually felt like.
What Moved
Until now, an application and its running environment were the same thing. One app, one set of secrets, one set of domains, one deploy target. That works fine as long as it's a simple project; it stops working the moment you want staging next to production, or automatic environments for every pull request, or a clean way to clone a deployment. Those are the features that make a managed platform useful for applications instead of static websites — and none of them were possible with the old model.
April changed that. Applications now hold source identity; environments own everything that runs. Secrets, domains, scheduler, queue workers — all scoped per environment, so production and staging can't step on each other. The architecture is now shaped the way the product needs to be.
This is a correction. The split should have been there from the start; it wasn't, and that's on me. What surprised me is how fast it went — four weeks to untangle eighteen months of the wrong model, 169 issues closed, everything staying stable while it happened. That's worth something.
What Didn't
The feeling of a straight line forward. A refactor at this scale absorbs everything around it — even when firewall management ships, the CLI gets SSH access, reboot detection lands, secrets move per-environment — it all gets pulled into the gravity of the big structural change. You're not just building; you're building while correcting the foundation underneath. It's not gloomy, it's just not the same as gliding.
Would I Pay For This Today?
Yes — and I'm running it. strackt manages this website, the tooling, the development environments. Through four weeks of architectural refactoring, servers kept running, deploys kept working, nothing went offline. That's the proof I care about most; not a demo, not a pitch — just uptime through the messy part.
The asterisk: what exists today is still too complex. As I wrote last week, what we're adding now needs to be removed later. The multi-environment work unlocks the right features; the new UI layer running in parallel is what will make them feel right. We're not there yet. But I'd pay for the stability while we get there.
Next Month
Testing. The multi-environment split is in; now it needs to be proven. Running it, breaking it, finding the edges. Once the obvious issues are out of the way, the interesting features unlock: automatic PR environments, environment cloning, the things that make the architecture worth having. That's what May is for.
Four weeks to fix a decision from eighteen months ago; let's see what we can do with the next four.