System design interview questionHardSocial / Media
Design a Photo Sharing App like Instagram
Design Instagram-style photo sharing: upload photos, store them, and deliver feeds/images to followers at scale.
Interview scope
Upload: Client → Gateway/LB → App → Object Storage + DB + Queue (thumbs). View: Client → CDN. Feed: App → Cache + DB. No Client → DB for images.
Functional requirements
- Upload a photo/post with caption.
- Follow users and read a home feed.
- View images quickly on mobile/web.
Scale and quality goals
- Image bytes go through CDN + Object Storage — not SQL BLOBs.
- Feed reads should be cache-friendly.
- Upload processing (thumbnails) can be async via queue.
Capacity assumption
Design for this scale
Assume ~50M DAU, ~2 posts/user/day, heavy image egress — CDN is mandatory for views.
Practice more than a diagram
Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.
Explore Premium →