case study 001
Nine years of technical debt, cleared
An Angular and Node application, roughly nine years behind on framework and package versions. Unsupported dependencies throughout, and a component library with no upgrade path on any current version of Angular.
R1,400,000. Three weeks. Two developers.
What was actually required
A full dependency-chain migration, resolution of every breaking change across nine years of framework releases, and replacement of the abandoned component library with a supported equivalent — behaviour preserved, throughout.
The result
why the gap is that large
This class of work is mechanical but enormous: thousands of small, deterministic decisions across a dependency graph. It's precisely the work AI-assisted engineering compresses hardest — provided someone with the judgement to spot what the tooling gets subtly wrong is driving it. The time saving is real. The engineering judgement is what you're actually paying for.
what I'd tell you if this were your codebase
Version upgrades of this age carry one genuine risk: behaviour that was never covered by tests and that nobody remembers specifying. That's why acceptance is defined against an agreed regression script before work starts, not discovered afterwards.