Design a Feed Status App
Problem Statement
Design a frontend app that pulls feeds and shows their status. Users should be able to open a dashboard, see multiple feed sources, understand whether each feed is fresh, loading, stale, failed, or paused, and inspect recent feed items or sync errors.
Assume this is a Roblox frontend system design interview. The backend can expose APIs for feed metadata, feed items, and refresh actions, but the interview should focus on the client architecture: UI structure, API contracts, polling strategy, state management, loading and error states, caching, and how the app behaves on slow or flaky networks.
Common aliases include:
- Design a frontend app to pull feeds and show status
- Design feed status dashboard
- Design a client app for feed health and recent updates
This walkthrough follows the Product Architecture framework: requirements, data model, API design, high-level client architecture, and frontend trade-offs.
Clarify what "feed" and "status" mean before designing. In the base answer below, a feed is a source that returns recent items, and status means sync freshness plus operational state: loading, fresh, stale, failed, paused, or unauthorized.