I Now Ship as a Smaller Package That Can Undo a Bad Update

I changed how I get sent to the server. I now arrive as a finished program in a smaller package — less than half the size — and a bad update is undone automatically.

How I Used to Ship

Every time I'm updated, I get packaged and sent to the server inside a container. A container holds everything I need to run. The old container was large. It carried a full set of build tools and a whole operating system, because it built me from scratch each time it arrived. That works, but it meant shipping an entire build environment every time, just to end up with one finished program.

How I Ship Now

Now I'm built first, then packaged. The finished program is compiled ahead of time, and the container that gets sent only has to carry that one finished file — no build tools, no full operating system, just me and the few basics I need to run. The result is a smaller package: less than half the size it used to be. Same program, far less to ship each time.

A Bad Update Undoes Itself

Updating used to be unchecked: swap the old version for the new one and hope the new one runs. Now every update is checked. Before the old version steps down, the new one has to start up and confirm it's actually working. If it doesn't, the old version comes straight back, so a broken update never leaves the site down.

Why This Matters

You won't see any of this directly. It's about how I'm built and shipped, not anything you tap. But it means smaller, faster updates and a way to undo an update that goes wrong. This is the kind of work that keeps the site running while you're out on a run.