Micro-frontends are the frontend equivalent of microservices — independently deployable UI modules owned by separate teams. They've been adopted by IKEA, Spotify, and DAZN. But for every success story, there's a team that added complexity without gaining any benefit.
You SHOULD Consider Micro-Frontends When:
- 3+ teams contribute to the same frontend — Merge conflicts and coordination overhead are killing velocity
- Teams have different release cadences — The checkout team ships daily, the catalog team ships weekly
- You're integrating acquired products — Different tech stacks need to coexist under one shell
- Build times exceed 10 minutes — The monolith's build/test cycle is so slow it hurts iteration speed
You Should NOT Use Micro-Frontends When:
- You have a single team — You're adding infrastructure complexity with no organizational benefit
- Your app is small — Under 50K lines of frontend code, a well-organized monolith is simpler and faster
- Consistent UX is critical — Shared design systems across micro-frontends require significant extra work
- You're early-stage — Focus on product-market fit first, not architecture astronautics
Implementation Approaches
Module Federation (Recommended)
Webpack 5 / Rspack Module Federation lets micro-frontends share dependencies at runtime. Each app builds independently but shares React, design system components, and auth state at runtime. This gives you the best balance of independence and efficiency.
Route-Level Composition
The simplest approach: different routes are owned by different apps, composed at the reverse proxy or CDN level. Works well when features naturally map to distinct URL paths.
iframes (Last Resort)
Complete isolation but terrible for UX — no shared styling, limited communication, accessibility challenges. Only use for embedding truly foreign content.
Shared Concerns
Regardless of approach, you need shared solutions for: authentication, routing, design system, error tracking, and analytics. These shared contracts are the "API" between your micro-frontends.
Considering a micro-frontend architecture? We can help you evaluate if it's the right move and implement it the right way.