Make performance an architectural decision.
An AI Voice-of-Customer analytics product with interactive charts and customer-specific views.
The application was highly dynamic and visualization-heavy, and typical screens took 40 to 60 seconds to load because expensive data aggregation happened in the browser.
My responsibility. Rethinking the performance architecture end to end, while the product stayed flexible and interactive for customers.
The decision
- Moved aggregation from the browser into Elasticsearch aggregations.
- Redesigned the APIs so each component could fetch focused data on its own.
- Added request caching and de-duplication.
- Kept Web Workers for the computation that still belonged on the client.
- Built the organization’s design system and removed legacy dependencies.
The outcome
Reduced typical loading times from 40–60 seconds to approximately 0.5–1 second. Dependency cleanup cut the bundle by about 35%, and the design system helped deliver a major rebrand in approximately 20% of the estimated time.
Dependency cleanup and a shared design system also supported a smaller bundle and a faster rebrand.
