
A leading global bank faced a widening tech-debt gap that was outpacing product delivery. With tens of thousands of repositories and legacy stacks (older JDKs, Spring versions, bespoke frameworks), the risk surface kept growing. Hygiene tasks, dependency cleanups, and security-driven remediations were accelerating faster than teams could keep up. At the same time, strategic upgrades were blocked by legacy frameworks, outdated JDK/Spring versions, and years of accumulated drift.
The problem wasn’t awareness—it was bandwidth. Even with internal scripts, version bumpers, and one-off fixes, modernization simply couldn’t move at the speed the organization needed. Tech debt wasn’t just slowing their progress—it was consuming it.
The bank needed a way to modernize safely and consistently across massive repo groups, not just surface problems or push PRs that developers wouldn’t merge.
Finance
10,000 developers
50,000 repos

person years
person years
person years


The bank needed a modernization engine that could handle tens of thousands of repos with precision. Version bumpers and scripts weren’t enough, and AI—while useful in the IDE—was too costly and inconsistent for multi-repo refactoring. The bank chose Moderne (powered by OpenRewrite) for large-scale, deterministic refactoring that developers could trust.
They wired Moderne into the real organization from day one:
The bank also built a modernization culture:
Developer-owned PRs, not a central “factory”
CLI for local refinement + SaaS for multi-repo execution
SDLC guardrails: dependency-freshness scores gate CI/CD auto-approvals
Impact dashboards tracking capacity recovered, not vanity activity
Teams saw meaningful results within weeks. Java and Spring Boot upgrades that previously required weeks—or a coordinated project team—were now completed in a fraction of the time. In one example, a team reduced a 64-hour upgrade effort to eight hours and completed 3x more repositories at 8x the speed.
A major monorepo—40+ microservices, 70+ developers—used Moderne to complete a full Java 21 and Spring Boot 3 upgrade, with 13,000+ files scanned and 300+ updated automatically. Custom recipes handled container changes from Docker to Podman, eliminating manual work across multiple squads.
More importantly, these upgrades translated into clear business value:

Learn how Morgan Stanley is leveraging Moderne and the power of mass scale code refactoring and modernization to tackle technical debt.
See how LST powers semantic code search and automated refactoring across large, complex codebases to make upgrades faster, safer, and more consistent across entire organizations.
Dive into Moderne’s multi-repo AI agent designed to modernize enterprise codebases at scale. Moddy combines natural language AI with deterministic tooling to automate complex refactoring.