Insights

How we think about this work

Every piece comes out of a project we actually ran, including the decisions we nearly got wrong.

Do not migrate in one go

Nine months to replace four systems, without stopping shipping for a single day. What made that possible was not careful planning — it was giving up on the idea of a cutover.

Put the performance budget before the merge

A monitoring dashboard after release looks impressive and prevents nothing. The number has to appear while someone is still willing to fix it.

Do not interpolate: draw the holes in your data

An interpolated line looks perfectly healthy, and that is exactly the problem. We made the dashboard uglier, and it caught a six-hour outage.

Accessibility is structural, not cosmetic

It cannot be retrofitted later. Twelve users over sixty told us more than any audit report has.

Model the differences as configuration, not branches

Three markets, three tax regimes. The way to collapse them was not abstraction — it was deliberately refusing to make the rules engine general.

Interface strings belong in the database too

The line between code and data gets drawn from the engineer point of view. Judged by who actually needs to change it, that line sits in the wrong place.

Tell us what you are trying to solve

You will hear back within two working days, from the person who would do the work.

Start a project