
Legacy angular apocalypse averted: team sneaks next.js and graphql into 600+ components via monorepo vines, no production fireworks
A company with a large Angular 14 application, comprising over 600 components, has successfully migrated to a modern tech stack without a big-bang rewrite. The legacy app, which had been in use for years, was facing technical debt issues, including a monolithic architecture, tight coupling, and limited reusability. To address this, the company adopted the Strangler Fig pattern, gradually replacing parts of the system while the old one kept running. They built a monorepo using pnpm and Turborepo, and created a domain-based GraphQL API, replacing the monolithic REST API. Web components were used to embed React features into the Angular app, allowing for incremental migration. The company has migrated 15 major features, resulting in 70% faster builds, 40% less duplicate code, and 80% of new features built in React, with zero migration-related incidents. This approach has enabled the company to modernize its legacy app while minimizing disruption to the business.