Short write‑ups of problems we hit running a real commerce operation and what we changed in the code because of them. No product announcements; just the reasoning.
A warehouse cannot stop for a deploy, and neither can we. How a nineteen-person team ships a monolith with six thousand actions to production seventeen times a week — the pipeline, the tests that gate it, the deploy that never cuts the branch it sits on, and why AI agents made the cadence faster without making it looser.
The engineers are in Southeast Asia — a big city and an island people go to on holiday; the warehouses, the sales floor and most of the staff are in Europe. That is six to seven hours of offset, every day, for four years. It shaped almost everything in how we work — the quiet morning deploys, the ticket that has to carry the whole conversation, the boring release, the hand-off note — and it is the honest reason some of our best habits exist. The advantages, the costs, and what we would tell a team considering it.
Twenty‑nine steps between "push to production" and "the warehouse is on the new code", and not one of them makes a picker wait. A walk through one deploy as it actually runs — releases and symlinks, caches, migrations on one host only, a front‑end build that is skipped when nothing changed, checksums that decide what to flush, queues told to finish, workers reloaded from an anchor, SSR restarted only if it must, a broadcast that tells open tabs to refresh, and a few chores at the end.
No Kubernetes, no managed database, no serverless. aiku runs a multi‑country commerce operation on a handful of rented bare‑metal machines behind Cloudflare — a primary, a replica and a staging box — and we would choose it again. Why metal beats "cloud" for a workload like ours, what the boxes actually do, and the two incidents that are the honest cost of owning the iron.
Every deploy was emptying the storefront cache and restarting server-side rendering, even when nothing on the front end had changed. The cause was one string baked into one JavaScript chunk. The fix was a checksum and a meta tag.
In February 2025 we stopped booting the framework on every request. What we gained, what bit us (state leaks, a deploy that kept deleting the running code, big headers), and the "anchor" directory that makes zero-downtime deploys boring.