Design brief

Design a chronological followed-author feed for one million posts per day. Ordinary authors average 200 followers; one author may have ten million. At 32 bytes per inbox reference, ordinary push fanout alone produces about 6.4 GB of logical references daily. Require durable source posts, quick visibility, and pages without duplicates or skips caused solely by new insertions. State a freshness and pagination contract.

Draw and explain

In Excalidraw, label source-post ownership, follow relationships, materialized references, media, visibility checks, and feed assembly. Trace publication, an ordinary reader request, and continuation to a second page. Show ordering keys and cursor scope. Explain where work grows with follower count and where it grows with followed-author count. Identify the information needed to choose or change a fanout policy.

Stress the design

A fanout worker delivers half a post's references and crashes, then replays after a newer post. Show how recovery preserves identity and order. Separately, new posts and delayed deliveries arrive between page requests. Draw what remains stable for that reader and when newly visible items appear.

Review your design

Compare push, pull, and mixed fanout using active readership and celebrity skew. Explain snapshot cost, expiry, and policy migration. Check that frozen candidates cannot preserve revoked access, and that references remain useful when hydration fails. Choose signals for fanout age, merge fan-in, source failures, page stability, and snapshot memory.

Capture assumptions, sizing, and the tradeoffs behind your diagram.

Review is your own assessment of the design.

Drag or use the arrow keys to resize. Home collapses the brief; End collapses the canvas. Enter or double-click resets the split.
Loading drawing…