bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/System Design/Design a News Feed
System Design•Design a News Feed

Design a News Feed: Requirements & Scope

Design a home timeline (Twitter/Instagram style) that shows recent posts from accounts a user follows.

How to approach it

Turn the open-ended prompt into a concrete contract. Separate functional requirements (what the system does) from non-functional ones (latency, availability, consistency, scale), and state non-goals so you do not overbuild. Ask one or two clarifying questions that actually change the design — read/write ratio, scale, and consistency needs are usually the highest-leverage.

Functional requirements

  • Publish a post
  • View a home timeline of followed accounts
  • Follow / unfollow
  • Rank or order by recency

Non-functional requirements

  • Timeline read p99 < 200ms
  • Reads ≫ writes
  • Eventual consistency acceptable
  • Handle celebrity fan-out

Out of scope

  • Full ML ranking model
  • Direct messaging
  • Ads auction

Tip

First clarifying question — Chronological or ranked? And what is the largest follower count we must support?

Chapter

Back to Design a News Feed

Next

Design a News Feed: Capacity Estimation

This chapter

Overview
7

Lessons

14m

Read time

1. Design a News Feed: Requirements & Scope2. Design a News Feed: Capacity Estimation3. Design a News Feed: API & Data Model4. Design a News Feed: High-Level Architecture5. Design a News Feed: Scaling6. Design a News Feed: Deep Dive7. Design a News Feed: Tradeoffs & Review

On this page

How to approach itFunctional requirementsNon-functional requirementsOut of scope