Skip to content

Work we can describe

Every engagement here is anonymised under NDA. That means the figures are generalised and the client is not named — and it is also why the method is the part stated precisely, which happens to be the part that transfers to your estate anyway.

Case studies

5 accounts

Each one says what was measured before anything changed, because that is the step most often skipped.

E-commerce · two EKS clusters on AWS · under NDA

Making a savings number smaller

Detectors summed to a headline figure. Reconciling the overlaps between them removed roughly three quarters of it — and that is what made the remainder usable.

  • −73% on the claim
  • 2 clusters
  • every figure traced to a bill line

E-commerce · production EKS on AWS · under NDA

A storage bill grew 20× on a filesystem holding 8 GB

Daily spend started climbing in the same week a dozen database instances were shut down — so the bill should have been falling. The billing line said EFS. The cause was in node provisioning, two layers away.

  • $6 → $138/day
  • 8.57 GiB filesystem
  • 2,314 GB/day read

E-commerce · 18 RDS PostgreSQL instances on AWS · under NDA

Consolidating 18 production databases into 5

A legacy account with one RDS instance per service, most idling at 2–10% CPU. The business would grant two maintenance windows of fifteen to twenty minutes, on separate days, for a payment-adjacent platform. Everything else had to happen under live traffic.

  • 18 → 5 instances
  • 25 min total downtime
  • ≈$24k/year

Gambling · managed Kubernetes on AWS · under NDA

Three EKS versions upgraded without a maintenance window

A cluster two versions past its support window, moved forward across three minor releases with no scheduled downtime — rehearsed first, with the disruption budgets fixed before anything moved.

  • 3 versions
  • 0 maintenance windows
  • rehearsed first

B2B SaaS · CI on a hosted runner fleet · under NDA

A CI pipeline from 38 minutes to 9

Build and test times measured per step before anything was touched, then caches that actually hit, parallelism where the dependency graph allowed it, and the work that had been running on every commit for no reason.

  • 38 min → 9 min
  • measured per step
  • no new CI vendor