pattern

Backend for Frontend

also called BFF

A separate, narrow backend per client experience, which aggregates and reshapes downstream services for exactly that client's needs.

patternsapifrontend

One general-purpose API serving a web app, an iOS app and a partner integration ends up serving none of them well: it is either too chatty for mobile, too coarse for the web, or too internal to expose to a partner. A BFF gives each client its own thin backend, owned by the team that owns that client.

It removes the negotiation about whose requirements shape the shared API, and it lets a mobile release change its payload without a downstream deployment.

The cost is duplication — three BFFs contain three versions of similar aggregation logic — and the risk that business rules leak into them. Keep BFFs to aggregation, projection and protocol translation; the moment one contains a pricing rule, the pattern has failed.