An architectural pattern where independently deliverable frontend apps compose into a greater whole.
Micro-Frontends extend the microservices philosophy to the frontend. Instead of a single monolithic frontend application, the UI is decomposed into smaller, independently developed, tested, and deployed applications. Each team owns a vertical slice of the product -- from UI to API. At runtime, these micro-apps are composed into a seamless user experience using techniques like Module Federation (Webpack 5), iframes, or Web Components. This enables large organizations to scale frontend development across many teams without the coordination overhead of a monolith.
The frontend is split along business domain boundaries (e.g., checkout, catalog, account) owned by separate teams.
Each micro-frontend is built with its own tech stack, build pipeline, and deployment cycle.
A shell application loads and composes micro-frontends at runtime using Module Federation or import maps.
Teams agree on shared APIs, design tokens, and routing conventions to ensure a cohesive user experience.
Large organizations where different teams own different sections of a complex internal portal.
Gradually replacing a legacy frontend by building new features as micro-frontends alongside the old system.
Products where autonomous teams need to ship independently without blocking each other.
Knowing the definition is step one. Building it into your product is step two. That's where we come in.