How We Optimized 20+ JS Bundles at AeroPort
When you have a lot of micro frontends, the frontend can quickly turn into “let’s ship the whole internet in the first paint.” We caught that in AeroPort and tuned the bundles to load only what’s needed.

When you have a lot of micro frontends, the frontend can quickly turn into “let’s ship the whole internet in the first paint.” We caught that in AeroPort and went to fix it.
What we did:
- set up tree shaking for shared dependencies — removed everything unnecessary from the bundles;
- enabled lazy loading for modules — we load only what the user actually needs;
- built vendor chunks for shared libraries so the same code doesn’t get duplicated in every service;
- used Module Federation to share
React,UI Kit, and utilities across micro frontends without copy-paste.
One especially nice part: we now measure Core Web Vitals separately for each micro frontend. Not just “something is slow,” but immediately clear which one is misbehaving.
Against the backdrop of the 2025 trend toward ultra-fast UX and saving client-side resources, this is a must-have, not a “we’ll finish it later” task. In short: fewer extra kilobytes, happier users, and less pain for the team ☕️