Problem Statement
Requirements
Functional Requirements
Non-Functional Requirements
Capacity Estimation
Traffic Estimates
Storage Estimates
Bandwidth Estimates
API Design
1. Upload Post
2. Get Feed
3. Like/Unlike Post
4. Post Comment
High-Level Architecture
Detailed Component Design
1. Image Upload & Processing Pipeline
2. Feed Generation Strategy
A. Fanout-on-Write (Push Model)
B. Fanout-on-Read (Pull Model)
Hybrid Approach (Instagram's Strategy)
3. Database Schema
Users Table (PostgreSQL)
Posts Table (Sharded by user_id)
Social Graph (Neo4j or Dedicated Service)
Likes (Cassandra - Write-Heavy)
4. Timeline Cache (Redis)
5. Direct Messaging
Scalability Strategies
1. Database Sharding
2. CDN Strategy
3. Hot Post Handling
Advanced Features
1. Ranking Algorithm (Explore Page)
2. Stories (24-hour Expiry)
3. Hashtag Search
Trade-offs
Aspect
Choice
Trade-off
Interview Discussion Points
Last updated