Design iCloud Photo Sync
Problem
Design an iCloud-scale photo & media sync service keeping a user's library consistent across iPhone, iPad, and Mac with end-to-end encryption.
Requirements
Functional:
- Upload/download photos and videos
- Sync edits and deletes across all devices
- Conflict resolution when two devices edit offline
- Shared albums
Non-functional:
- 1B+ users, 100s of photos/user
- Eventual consistency, but no lost edits
- End-to-end encrypted
- Mobile-friendly: bandwidth and battery aware
Discussion points
- Chunked upload + content-addressed storage (dedup)
- Per-device sync cursor / change feed
- Conflict resolution (vector clocks vs last-writer-wins)
- Thumbnail generation pipeline
- E2E encryption key management across devices
added …