Feeds, Messaging & Social

Notifications, news feed, chat, and the social graph.

Learn the reason behind each component

5 independent guides. Each includes local concept explanations, a correctness contract, a worked failure trace, and a runnable Python learning model.

Read in this order: requirements → concepts → data flow → concurrency and failure behavior → sizing → worked example. Explain what can fail before choosing a technology.

01·Notification SystemAccept notification intent reliably and distinguish provider acceptance, device delivery, and a user's observation. 02·News Feed SystemChoose push, pull, or hybrid feeds from measured amplification, then serve stable pages with current privacy rules. 03·Chat SystemDeliver and synchronize messages across intermittent devices without confusing message identity with committed delivery order. 04·Social GraphMaintain directed edges and reverse indexes without losing unfollow ordering or using stale edges for authorization. 05·Live Comments / PresenceBroadcast a bounded live comment stream while keeping durable acceptance distinct from the subset shown to viewers.

Find a guide or concept

5 guides

Designing a Chat System — System Design Interview Guide

Deliver and synchronize messages across intermittent devices without confusing message identity with committed delivery order.

Sequence numbers and replay cursors · Idempotency keys · Fanout on write and read · Presence and failure detection · Transactional outbox · Pub/sub and durable queues

Designing Live Comments / Presence — A System Design Interview Guide

Broadcast a bounded live comment stream while keeping durable acceptance distinct from the subset shown to viewers.

Fanout on write and read · Pub/sub and durable queues · Sequence numbers and replay cursors · Presence and failure detection · Backpressure and load shedding · Token bucket

Designing a News Feed System — A System Design Guide

Choose push, pull, or hybrid feeds from measured amplification, then serve stable pages with current privacy rules.

Fanout on write and read · Cache-aside and invalidation · Sequence numbers and replay cursors · Transactional outbox · Backpressure and load shedding · Top-k candidate discovery

Designing a Notification System — A System Design Interview Guide

Accept notification intent reliably and distinguish provider acceptance, device delivery, and a user's observation.

Transactional outbox · Idempotency keys · Sagas and compensation · Backpressure and load shedding · Leases · Pub/sub and durable queues

Designing a Social Graph — A System Design Interview Guide

Maintain directed edges and reverse indexes without losing unfollow ordering or using stale edges for authorization.

Transactional outbox · Optimistic concurrency and compare-and-set · Replication · Fanout on write and read · Cache-aside and invalidation · Cardinality

Download the Python concept models · Python 3.10+, no packages required.

Student clarity and correctness review · 19 October 2026