The Legacy Tangle
Every organisation has that one system held together by good intentions and decades of patches. Our client relied on a desktop application written when flip phones were cutting edge. It ran payroll, inventory and reports, and the staff who knew its shortcuts were approaching retirement. Replacing it outright would have meant months of downtime, mountains of manual data migration and a revolt from the team that depended on it daily.
Rather than rip and replace, we decided to refactor the existing codebase and expose its functionality through modern APIs. That way the old interface could stick around for those who loved it, while new tools could speak to the same data in a structured, secure way.
Letting AI Map the Maze
Before writing a single line, we pointed our internal AI tooling at the source files. The model documented every function, identified dead code and suggested how modules could be isolated. Within days it produced a blueprint that covered roughly 80% of the refactor. Our engineers spent their time on the tricky 20%—the untyped edge cases and domain quirks that only humans who have shipped production systems can solve.
This AI-first approach meant we were writing code with a detailed map in hand. It flagged outdated libraries, generated test harnesses and even mocked API endpoints so front-end work could begin immediately. The boost wasn’t just speed; it gave the team confidence that nothing critical was being missed in the translation from monolith to services.
Two Systems, One Organisation
Change management is often harder than code. Some of the client’s senior staff had used the original system for over a decade and had no appetite for new screens. By keeping the legacy interface alive and running it alongside the modern API-driven portal, we gave everyone room to breathe.
Power users could continue with their trusted workflows while curious team members explored the new features. As confidence grew, we nudged people toward the modern interface without disrupting operations. Training sessions turned into show-and-tell meetings where staff compared tricks and gradually switched over on their own terms.
Security and Approvals
Any system touching government datasets in Australia must pass rigorous security analysis. Once the refactored APIs were functional, we packaged the build and submitted it for review. The assessment looked at encryption, access control and how audit trails were handled.
The reviewers were pleasantly surprised to see automated test logs and AI-generated documentation outlining data flows. These artefacts sped up the approval process since they highlighted exactly how sensitive information moved through the system. Approval came back swiftly, giving the green light to roll out across departments.
From a Year to Two Months
Traditional wisdom said a project like this would take twelve to eighteen months. By leveraging automation for the heavy lifting and focusing our human effort on high-impact decisions, we delivered production-ready APIs in just eight weeks. The old and new systems now operate in tandem, sharing a single database and synchronising records in real time.
Staff who once dreaded the "new system" are now the ones requesting additional features. The leadership team has a roadmap for phasing out the legacy interface entirely, but in the meantime both platforms coexist without friction.
Lessons Learned
Refactoring is rarely glamorous, but it doesn’t have to be painful. Starting with AI-driven analysis gave us clarity and pace. Building APIs instead of wholesale replacements respected the client’s investment in their existing tools while preparing them for future integrations.
The biggest win was cultural. By showing that automation could help our team deliver faster without eliminating jobs, sceptics became allies. The project demonstrated that modernising isn’t about chasing shiny tech; it’s about helping people do their work better with as little disruption as possible.
If your organisation is weighed down by legacy software, consider a middle path. Refactor what you have, expose it through APIs, and let AI handle the grunt work. You might be surprised how quickly the future arrives.