The Challenge
What Matrix Was Facing
Matrix operated a 12-year-old monolithic ERP system that had accumulated significant technical debt. Deployments required full-system downtime, a single bug in any module could take down all business operations, and the codebase had grown so tightly coupled that adding a new integration took 3 months. The business needed the system re-architected without halting operations.
The Solution
What We Built
We applied the strangler fig pattern to decompose the monolith incrementally. We identified eight bounded domains — inventory, finance, HR, procurement, CRM, logistics, reporting, and auth — and extracted each as an independent service over 18 months. An API gateway handled routing and backwards-compatible versioning throughout the migration. Each service owned its own PostgreSQL schema and communicated asynchronously via RabbitMQ events. Feature flags controlled traffic routing between old and new implementations. By the final cutover, 100% of traffic had been dark-launched through the new services for 30 days before the monolith was decommissioned.

Results
