Pattern 36 / EDGE

Backend for Frontend (BFF)

Use this when serving different client experiences without one bloated API.

Pressure
Serving different client experiences without one bloated api
Mechanism
Create client-specific backend layers that aggregate and shape data for each frontend
Toll
More api surfaces and potential duplicated business logic
Architecture plate36
Diagram for Backend for Frontend (BFF)
Executive brief

Backend for Frontend (BFF) fits when serving different client experiences without one bloated API. Mechanism: create client-specific backend layers that aggregate and shape data for each frontend. Use it for mobile, web, admin, partner, and TV clients with different payload needs. The toll: more API surfaces and potential duplicated business logic.

Use when

Mobile, web, admin, partner, and tv clients with different payload needs.

Example

Mobile bff returns compact cards while web bff returns richer data.

Review framing

Describe the pressure first, then the mechanism, then the cost. That keeps the design grounded.

Same pressure family

API Design Patterns

35API Gateway37Rate Limiting38Pagination (Cursor-Based)39API Versioning
โ† 3537 โ†’