Functional: Upload files, sync across devices, share files/folders, version history.
Non-functional: million users, billion files uploaded/day. Sync within seconds. Handle files up to GB. Work offline.
Core challenge: User edits file on laptop while offline. Edits same file on phone. Both come online. How do you merge?