{"slug": "1-30-days-system-design-question", "title": "1/30 Days System Design Question", "summary": "The article presents a system design problem where a mobile app directly communicates with three backend services, with a fourth one approaching, causing integration complexity and tight coupling. It asks readers to choose the best solution among an API Gateway, a Backend for Frontend (BFF), a Load Balancer, or GraphQL Federation, noting that only one correctly reduces coupling for the mobile client. The correct answer is the BFF, as it provides a dedicated aggregation layer that handles routing, authentication, and data shaping specifically for the mobile app, offloading these responsibilities from the client.", "body_md": "our mobile app talks to 3 backend services directly.\nA 4th one ships next sprint. The mobile team is already drowning.\nEvery new service means a new domain to whitelist, a new auth scheme to wire, and a new error shape to parse. You’re asked to reduce coupling before NotificationService lands.\nHere’s the setup:\nMobile → UserService (users.api.com)\nMobile → OrderService (orders.api.com)\nMobile → PaymentService (payments.api.com)\n…and NotificationService next sprint.\nThe client is doing routing the backend should be doing. What do you do?\nA) Add an API Gateway — single entry point, all services hide behind one domain.\nB) Build a BFF (Backend for Frontend) — a dedicated aggregation layer tailored for mobile.\nC) Put a Load Balancer in front of all services — single IP, distributed traffic.\nD) Switch to GraphQL Federation — one unified schema the client queries.\nThree of these are real patterns you’d use in production. Only one of them actually solves the problem in front of you.\nPick one — A, B, C, or D — and tell me why. I’ll drop the full breakdown in the comments (including why two of the wrong answers are close enough to trick senior engineers).\nIf this is the kind of tradeoff question your team argues about, share it with them. The debate is worth more than the post.\nDrop your answer 👇", "url": "https://wpnews.pro/news/1-30-days-system-design-question", "canonical_source": "https://dev.to/thejoud1997/130-days-system-design-question-5dd8", "published_at": "2026-05-23 09:13:45+00:00", "updated_at": "2026-05-23 10:04:20.574203+00:00", "lang": "en", "topics": ["cloud-computing", "developer-tools", "enterprise-software"], "entities": ["UserService", "OrderService", "PaymentService", "NotificationService", "API Gateway", "BFF", "GraphQL Federation", "Load Balancer"], "alternates": {"html": "https://wpnews.pro/news/1-30-days-system-design-question", "markdown": "https://wpnews.pro/news/1-30-days-system-design-question.md", "text": "https://wpnews.pro/news/1-30-days-system-design-question.txt", "jsonld": "https://wpnews.pro/news/1-30-days-system-design-question.jsonld"}}