Micro Frontend Architecture

Scaling Teams, Not Complexity

Micro frontends solve an organizational problem, not a technical one. The question is never whether to split your frontend — it is where to draw the boundaries. I led this migration at PropertyGuru, where 4 product teams were blocked on a shared monolith, and the biggest lesson was that sharing too much is worse than sharing too little.

The biggest mistake teams make with micro frontends is sharing too much. Webpack Module Federation makes it easy to share components across applications, but every shared dependency becomes a coordination point. If Team A updates a shared component and Team B has not tested against it, you have recreated the monolith coupling you were trying to escape — just with more infrastructure.

The real value of micro frontends is independent deployability. If your release cycle is measured in weeks because teams are blocked on each other, the structural fix is clear ownership boundaries where each team deploys their slice without asking permission.

  1. Monolith Decomposition Strategy

    PropertyGuru

    Led monolith-to-micro-frontend migration for 4 product teams. The critical decision was boundary placement — we split by business domain (listings, payments, analytics, agent tools) rather than by UI layer, so each team owns a vertical slice from route to API call.

  2. Runtime Code Sharing with Module Federation

    PropertyGuru

    Implemented Webpack Module Federation for runtime code sharing between independently deployed applications. Kept shared components to the minimum viable set — design tokens, authentication wrapper, and navigation shell — to avoid re-creating monolith coupling.

  3. Cross-Team Payment Service

    PropertyGuru

    Engineered unified payment service consumed by all 4 product teams. Exposed as a federated module with a strict contract — teams integrate the payment flow without knowing its internals, and the payment team deploys updates without coordinating releases.

ReactWebpackModule FederationNestJSTypeScriptNode.jsStorybook

Micro frontends are the organizational pattern. The React architecture inside each micro frontend still needs to scale. Here is how I structure those internals.

Frontend Architecture for Financial Systems When Every Frame and Every Millisecond Counts

When micro frontends share real-time data — like a payment status updating across teams — the WebSocket architecture must span application boundaries.

Real-Time Systems WebSockets, Message Queues, and Live Data

The analytics micro frontend at PropertyGuru needed custom D3 dashboards. See how I built executive decision tools inside a federated architecture.

D3.js and Data Visualization Making Data Tell Stories

Teams blocked on a shared frontend?

The monolith is not the problem — the coupling is. I have led this migration for a platform with 4 product teams and can tell you exactly where to draw the boundaries. If your release cycle is measured in weeks, it does not have to be.

Discuss your frontend architecture