BFF patterns are underappreciated in the API design world. The request aggregation approach you describe is exactly what I implement when building automation dashboards — the frontend needs very specific data shapes that don't map cleanly to individual microservice responses. One pattern I've found useful: versioning BFF contracts independently from backend services, so mobile and web clients can evolve at different speeds without breaking each other. The caching layer at the BFF level is also a game changer for reducing downstream load.