Activity feed with power users

DesignHard45 minMeta style

Your task

Design an activity feed for a mid-size social/collaboration app with ~2M users where users follow each other and a home feed shows recent activity from everyone you follow. Distribution is skewed: most users follow ~150 accounts, but some 'power' accounts have 100K+ followers. Requirements: home-feed loads in <150ms p95 (read-heavy), new activity appears within seconds, feeds are reverse-chronological with light ranking, and the system shouldn't fall over when a power account posts (the fan-out spike). Roughly 20:1 read:write on activity.

It covers

  • Activity feed
  • Fan out
  • Timeline
  • Hot keys