Notes from the work.
Patterns we keep seeing on the way to production. Written for the people whose name is on the change ticket.
2026.04.25
MIGRATION
The 60% migration. Why it stalls, and what finishing actually costs.
The last 40% is rarely technical. Four shapes of stalled migration we keep being asked to recover, and the price of doing each one twice.
Read ↗
2026.04.09
FINOPS
A FinOps maturity model, ranked by how much it survives a tag audit.
Six checkpoints for where a cloud-cost relationship actually sits — not where the quarterly slide says it does. Ranked by what holds up under scrutiny.
Read ↗
2026.03.26
DATA-AI
The data plumbing AI products forget to plan for.
Most AI features fail at the ingest, lineage, and retrieval layers — not at the model. A field guide to the data work that has to happen before the model layer is interesting.
Read ↗
2026.03.12
MODERNISATION
Strangler-fig is a cutover strategy, not a refactor.
The pattern is famous; the discipline that makes it work is not. Why most strangler-fig modernisations stall, and what changes when the team treats it as a cutover plan.
Read ↗
2026.02.26
FINOPS
Reserved instances are not a strategy. Commitments are.
Why a Savings Plan or Reserved Instance buy without a commitment ladder is just a long-dated bet — and how to build the ladder before the spreadsheet does.
Read ↗
2026.02.12
PLATFORM
The platform team of two.
Paved roads for the smallest plausible platform org. What to centralise, what to leave to product engineering, and what not to build at all.
Read ↗
2026.01.29
OPS
SLOs the rota will actually defend.
Most SLOs are written for steering committees. The ones that survive are written for the engineer who'll get paged at 03:00. Six rules that separate the two.
Read ↗
2026.01.15
STANDARDS
What we'd refuse to ship.
A short list of architectures, patterns, and promises we won't put our name on. Written so the answer is the same on day one and day ninety.
Read ↗