Why consider micro frontends?
What actually makes it work
- Clear domain boundaries. If two teams keep reaching into each other's apps, the split doesn't buy anything.
- A shared shell with strong contracts. Auth, routing, and design system live here. Everything else is a detail.
- Consistent UX. Users shouldn't feel the seams.
What to watch out for
- Duplicate dependencies blow up bundle size unless you share at the shell level.
- Runtime errors in one remote can break the shell if you don't isolate them.
- Onboarding gets harder — new engineers have to learn the shell contract before they can ship.