🎉 75% of content is free forever — Unlock Premium from $10/mo →
CW
đŸ’ŧ Servicesâ„šī¸ Aboutâœ‰ī¸ ContactView Pricing Plansfrom $10

Design Instagram

System Design ProblemsSocial Media SystemsđŸŸĸ Free Lesson

Advertisement

System Design Problems

Design Instagram

Instagram serves 2B+ monthly active users with 100M+ photos uploaded daily. This design covers feed generation, media storage, social graph management, and real-time notifications.

  • Scale — 2B MAU, 100M photos/day, 500M stories/day
  • Feed — Personalized ranking with sub-100ms latency
  • Media — Multi-resolution storage and CDN delivery

Instagram is a masterclass in building systems that balance real-time social interactions with massive media delivery.

Requirements Clarification

Functional Requirements

  1. Upload photos/videos with captions
  2. View personalized feed of posts from followed users
  3. Like, comment, and share posts
  4. Follow/unfollow users
  5. View stories (24-hour ephemeral content)
  6. Direct messaging with media sharing
  7. Explore/discover trending content

Non-Functional Requirements

  1. Availability: 99.99% uptime
  2. Latency: Feed loads < 200ms
  3. Durability: Media must never be lost
  4. Consistency: Eventual consistency for feed, strong for actions
  5. Scale: 100M photo uploads/day, 1B feed reads/day

Back-of-the-Envelope Estimation

High-Level Architecture

ClientsCDNAPI Gateway / Load BalancerPost ServiceUpload/MetadataFeed ServiceFan-out/RankingSocial GraphFollow RelationsMedia ServiceProcessing/CDNNotificationPush/Email/SMSMessage Queue (Kafka)Feed Cache(Redis Cluster)User Cache(Redis Cluster)Social Cache(Redis Cluster)Post DB(MySQL Sharded)User DB(MySQL Primary)Graph DB(Neo4j/JanusGraph)Object Storage(S3/GCS)Search Index (Elasticsearch)

Feed Generation Deep Dive

Fan-out on Write vs Fan-out on Read

Feed Ranking Algorithm

Media Processing Pipeline

UploadValidationProcessResizeCDN PushMedia Processing PipelineGenerate thumbnails, apply filters, extract EXIF, content moderation, virus scan

Data Model

Scaling Strategies

Horizontal Sharding

Practice Exercises

  1. Feed Design: How would you handle the case where a user follows someone who has posted 1000 times in the last hour? How do you prevent feed flooding?

  2. Media Storage: Design a multi-resolution image storage system. How do you determine which resolutions to generate and store?

  3. Consistency: When a user likes a post, how do you ensure the like count is eventually consistent across all read replicas while avoiding race conditions?

  4. Optimization: How would you reduce the latency of feed generation for users who follow 5000+ accounts?


What to Learn Next

-> Design Twitter Real-time feeds, fan-out, and timeline generation.

-> Design Facebook Social graph, news feed, and platform architecture.

-> Design YouTube Video streaming and transcoding at scale.

-> Design Netflix Content delivery and recommendation systems.

-> CAP Theorem Understanding consistency vs availability trade-offs.

-> Caching Strategies Write-through, write-back, and cache invalidation.

Need Expert System Design Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement