Writing

Notes on building
and running things.

Short, practical posts about backend systems, cloud costs, and the unglamorous parts of operations.

Cutting my cloud bill with three boring changes

No re-architecture, no Kubernetes migration — just lifecycle rules, right-sized instances, and deleting what nobody uses.

Read the post →

Idempotency keys, explained with coffee

Why retrying a payment should never charge twice — and how to design the API so it can't.

Running Postgres on a free-tier VM: what I learned

Backups, connections, and the settings that matter when you're the only DBA.

Why I containerize everything, even static sites

Reproducible builds, painless rollbacks, and one mental model for every deploy.