
Revolutionizing App Deployment: How Nx Helps Us Release Updates to 40+ Applications Every Week
2025-03-19
Author: Charlotte
The Journey Begins: A Look at the Initial Challenges
Three years ago, Celonis faced significant obstacles. We had nearly 40 separate applications, each housed in its own repository. The duplication of effort was staggering. Every time we needed to deploy an update, we had to manage multiple builds, involving repetitive tasks that not only drained resources but also resulted in inconsistencies across apps. Different teams working on different versions of the design system meant that end users experienced mixed interfaces—sometimes even differing themes and UI components from one app to another.
Compounding these issues were the lengthy page reloads and bulky bundle sizes, characteristics that defined user experience back in the early 2000s. As expectations evolved, so did our realization that these antiquated practices were no longer acceptable.
Enter Nx: The Game-Changer
Adopting Nx marked a turning point for our development process. Nx is an open-source build tool that supports monorepos—allowing us to unify our applications under one roof. Launched by a team hailing from Google, Nx integrates powerful features such as build caching, which drastically reduces redundancy. By intelligently caching previously built code, Nx ensures that only updated code needs to be rebuilt, slashing our build times significantly.
Today, we maintain a colossal codebase of 2 million lines of code and run approximately 200 projects concurrently, all thanks to Nx's capabilities. The modular architecture it supports has allowed us to refactor our system, streamline our workflows, and foster collaboration amongst over 40 teams.
The Benefits: Streamlined Processes and Consistency
With Nx, we transformed our deployment workflow. We leveraged module federation to create seamless experiences within our applications, removing reliance on traditional URL routing. This has resulted in faster, SPA-like (Single Page Application) behavior across our platform, significantly enhancing user experience.
Moreover, we’ve tackled the challenge of maintaining a singular design system across diverse applications. Our Nx-driven method has consolidated updates to the design system, ensuring consistency in user interfaces. By rolling out design updates once across the repository, we’ve eliminated the nuisance of fragmented experiences.
Embracing Feature Flags and Continuous Delivery
To further enhance our development capabilities, we adopted feature flags, enabling teams to roll out new features progressively while retaining the option to rollback seamlessly in case of issues. This agility empowers us to ship features to selective user groups for real-time testing and feedback without jeopardizing the entire system.
Our release strategy is a carefully orchestrated affair: we aim to roll out a release candidate every Monday. If all tests pass, we deploy by Wednesday or Thursday. Releasing on Fridays is a no-go, as we prioritize our team’s weekends.
The Future: Aiming for Daily Releases
While we currently average multiple releases each week, our goal is to enable daily releases, minimizing the risk of large bottlenecks and fostering a culture of continuous improvement. Using Nx has armed us with not just the tools, but also the mindset necessary to achieve this ambition.
As we move forward, we remain committed to refining our processes, embracing emerging technologies, and fostering a collaborative environment that enhances not only our products but also the lives of our developers.
Conclusion
Through our journey with Nx, we have transitioned from struggling with multiple repositories and inefficient processes to a streamlined, efficient development pipeline capable of managing over 40 applications. Our experiences reflect a broader industry trend: that staying ahead in tech requires not just the right tools but a holistic approach to systems thinking and team collaboration.
Every day, we aim to create a smoother, more reliable experience for our users—in a world that never stops evolving.