Instagram Feed System Design (Feed Ranking & Scale)
Scenario
From the user’s side, Instagram is scroll, tap, watch: photos, carousels, Reels, and Stories that disappear tomorrow. From your side, the product is bytes: huge video objects on cellular networks, thumbnails that must beat human perception of “slow,” and the same skewed social graph every large app has—reads crush writes, a few creators behave like broadcasters, and any design that does unbounded work per swipe or ships full-resolution video on every load will fail in cost and p99 before it fails in a diagram review. You separate metadata from media, async anything that smells like ffmpeg, and you name how the feed stays fast when the ranker hiccups or the transcode queue backs up.
Design the Instagram home feed experience (posts and short-form video from followed accounts), including how media is stored, transcoded, and delivered quickly on mobile networks worldwide.
Constraints
- Functional: Scrollable ranked feed; image and video posts; stories (24h TTL); likes/comments; follow graph; optional Explore (out of scope unless you choose to include)
- Non-functional: Mobile-first latency; resilient media playback; high read:write ratio
- Scale: Hundreds of millions of DAU; tens of millions of uploads per day; large objects (video) with regional caching