
Raith Rovers Football Club
Raith Rovers Scouting Platform
22s → 3-4s
Result: deep-filter operations dropped to roughly 3-4 seconds, making the product usable under real scouting pressure.
Read the case studyI help founders clean up slow, fragile web applications without gambling the whole product on a risky rewrite.
If every new feature feels expensive, your roadmap may not be the problem.
The codebase may be fighting the product.
Technical debt triage, performance optimization, architecture cleanup, and refactoring for existing SaaS products, dashboards, and internal tools.
Most codebases do not suddenly become bad. They rot one shortcut at a time.
The goal is not to polish code for its own sake. The goal is to remove the parts of the system that are making product decisions slower, riskier, and more expensive than they should be.
Most of this work sits in modern JavaScript stacks: Next.js, Angular, Node.js, TypeScript, MongoDB, and the usual mess around them.
Rescue work needs judgment. Moving too fast can make the mess worse. Moving too slowly lets the product keep bleeding.
On the Raith Rovers scouting platform, deep player filters were taking around 22 seconds. The fix was not a rewrite. It was targeted engineering: query analysis, MongoDB indexes, lean query paths, caching, and precomputed scoring where it made sense.

Raith Rovers Football Club
22s → 3-4s
Result: deep-filter operations dropped to roughly 3-4 seconds, making the product usable under real scouting pressure.
Read the case studyThe right move depends on the product, the users, the team, and where the pain really is.
I am not interested in refactoring for sport. If the mess is not slowing the product down, it can wait. If it is slowing the product down, we fix the parts that matter first.
Rewrites are sometimes necessary.
But they are also expensive, risky, and usually underestimated by people who have not been burned by one. In many products, the better move is focused triage.
Is your product getting harder to improve every month?
I can help you find what is actually slowing the system down, clean up the parts that matter, and get the product moving again without pretending every problem needs a rewrite.