The bill stopped making sense
Compute, storage, and third-party spend that grew with the product but never got pruned. You are paying for the way it was built, not the way it runs.
It works. It also takes more effort and stress than it should, runs up a bill that no longer makes sense, or has grown too tangled to change safely. I bring performance, stability, and maintainability back, then stay on to keep it that way if you want a hand on it.
Nothing is on fire, so it never makes the top of the list. Meanwhile every change takes longer than it used to, the hosting bill climbs without a clear reason, and the people who understand the system are the bottleneck for everything. Left alone it does not blow up. It just keeps getting more expensive and more brittle until one day it is a rewrite.
Compute, storage, and third-party spend that grew with the product but never got pruned. You are paying for the way it was built, not the way it runs.
Small features take weeks. The codebase resists being touched, the tests do not cover the scary parts, and only one or two people dare go near it.
Code shipped quickly with AI assistance, now a layer nobody fully owns: duplicated logic, inconsistent patterns, and behaviour no one can explain. AI Spring Clean →
I profile what actually costs you: the slow paths, the wasteful spend, the parts of the codebase that absorb the most effort. Decisions follow the evidence, not a hunch about what looks ugly.
When the target is clear, a fixed-scope Sprint puts one objective on the table: a performance pass, a cost-to-run cut, a maintainability rescue, or untangling AI-generated sprawl. Two to three weeks, one outcome.
Health is not a one-off. As an Advisory or Embedded retainer I stay in the loop, watch the metrics, and keep the rot from coming back: dependency upkeep, cost discipline, the small fixes before they become big ones.
When the work is ongoing and hands-on, I sit inside the team: owning the parts that need owning, raising the floor on engineering practice, and leaving your people better able to keep it healthy themselves.
Engineering leadership for a B2B e-commerce platform: an architecture refresh and performance work across the stack, with the team built up to hold the gains.
Interim CTO and CPO for a Software-as-a-Medical-Device platform, keeping a regulated system shippable and maintainable under EU MDR, IEC 62304, and ISO 13485.
Open-source firmware for a connected scooter platform, maintained and shipped to riders in the field. Embedded Linux, OTA delta updates, the discipline a system needs when a bad update is a logistics problem.
For a single, well-defined improvement, a Sprint: one objective, one fixed deliverable, no scope-stacking. When the work is open-ended, a retainer keeps the system healthy over time, billed by how present I am.
Sprints are quoted as an indicative range. Retainers run a 90-day minimum, then month to month. All figures are starting points, net of VAT, and scoped per engagement. Full engagement model →
Tell me where it hurts. A 30-minute call to scope the improvement, or whether a hand that stays is the better fit.