Exploring CHAOS: Building a Backend for Server-Driven UI
A technical deep dive into Yelp’s CHAOS server-driven UI backend: how GraphQL requests are routed via an Apollo-federated Python subgraph (using Strawberry), how multiple backend services expose REST APIs that build CHAOS configurations, and how the backend composes views using builder/provider patterns, Python dataclasses, asynchronous data loading (asyncio), error-handling wrappers, view flows, and view placeholders to enable dynamic SDUI content across iOS, Android, and web clients.