The question before GEL
This work began with a practical question. Where should Acquia build the unified design system that would eventually become GEL? Before we could choose its architecture or repository, we needed to decide how frontend development across the company should work going forward.
Acquia’s acquisitions had brought several distinct ecosystems together. Acquia had historically built Angular products with the Acquia Design System inside an NX monorepo, colocating shared libraries with product code. Widen brought React, its Patterns design system, and a polyrepo model supported by mature developer tooling. Monsido, AgilOne, Mautic, and other acquired products used bespoke component libraries and their own development strategies.
A single design system was necessary to give those acquired experiences a coherent foundation. The platform strategy established the operating model that system would need to serve.
Shared problems, different paths
The research made one thing clear. Monorepo and polyrepo strategies are attempts to solve the same fundamental problems. Both need ways to manage dependencies, share common code, standardize tools and processes, and give teams enough room to work effectively. They simply address those concerns from different directions.
Monorepos tend to front-load the tooling that lets multiple projects operate inside one repository. Polyrepos create tooling for cross-repository concerns after those repositories exist. Neither topology is inherently more mature or more collaborative; each makes a different set of trade-offs visible first.
That made the final choice as much about people and culture as technology. How much does the organization value consistency? Where is technical exploration useful? Do teams collaborate across product boundaries or work in silos? The adopted multi-monorepo direction reflected Acquia’s need for a shared foundation while preserving clear ownership at the product level.
A shared frame for later work
I captured the decision as Acquia’s first company-wide frontend architectural decision record. It gave GEL’s cross-framework model, the transition from ADS, and later microfrontend work a common frame instead of reopening the same organizational questions for every project.
The primary goal was not a particular repository shape. It was to give teams a dependable shared layer so they could deliver consistently excellent product experiences at Acquia’s scale.