Modernisation without a rewrite fantasy
Mature Android products cannot pause while their architecture catches up. My work across streaming, news, regulated betting, telecom and sports has centred on improving the system while teams continue to deliver through it.
At ITVX, migrating key legacy flows to Kotlin Coroutines and Hilt contributed to a 30% startup-time improvement. At The Times, I re-architected the app towards Clean Architecture and Compose without abandoning delivery momentum. At bet365, I delivered regulated platform work and co-created FollowScores around Compose, modular boundaries and release readiness. Earlier, I led Android development for Skores, a sports product with more than 5 million downloads, and supported its move from MVP towards MVVM.
The recurring method
The technology changes, but the practical sequence remains consistent:
- Make the current behaviour and ownership boundaries visible.
- Measure the user-facing constraint instead of treating migration volume as progress.
- Create a safe seam—module, interface or flow—where new architecture can prove itself.
- Improve tests and delivery mechanics alongside production code.
- Expand only when the new path is easier for the team to operate.
What this demonstrates
Platform work succeeds when it improves both the software and the organisation’s ability to change it. The goal is not architectural purity. It is a product that starts faster, a release that carries less risk and a codebase in which the next decision is clearer than the last.