📸Photo Sharing (Instagram)
0 nodes · 0 edgesHint 1 — locked
Hint 2 — locked
Hint 3 — locked
📸
Photo Sharing (Instagram)
● Intermediate30–45 min
Problem
Build a photo-sharing platform like Instagram. Users upload photos that are compressed and stored, then served globally via CDN. The upload response must be instant — processing (compression, thumbnail generation) is decoupled from the upload response via an async queue.
Functional Requirements
- Upload a photo → receive a shareable URL immediately
- Async compression/resizing into thumbnail, medium, and full sizes
- Serve photos from global CDN edge locations
- User feed showing photos from followed accounts
- Like and comment on photos
Non-Functional
- 1B DAU, 100M photos uploaded per day
- Upload response < 1 second (write to object store, defer processing)
- Photo delivery < 50 ms globally via CDN
- Storage cost-optimised — compress aggressively, use tiered storage
📸
Design your Photo Sharing (Instagram)
Drag components from the Brief panel → switch to Components tab
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
UML
15
Needs Work
Click a dimension to see what's missing. Score updates as you design.
Speed
RPS
Hit Play to start simulation00:00