Design brief
Design authorized large-file storage for 100,000 daily uploads averaging 100 MB, adding about 10 TB per day before replication and retention. A 1 GB upload should resume after a failed transfer without sending every byte again. Ordinary readers must never see incomplete content. Define completion, overwrite policy, retention, and download-demand assumptions before estimating capacity.
Draw and explain
Use Excalidraw to separate metadata operations from byte transfer. Label upload identity, part ordering and integrity metadata, authorization boundaries, staging bytes, and the owner of publication state. Trace initiation, parallel part transfer, completion, and an authorized download. Mark the point where success can be acknowledged and show which durable evidence permits a client to retry or resume.
Stress the design
A client loses connectivity after transferring 900 MB of a 1 GB file. Explain how it discovers remaining work and avoids duplicated bytes. Then crash the service after durable bytes are finalized but before visible metadata changes. Draw how retry or reconciliation completes publication, and how abandoned objects are eventually distinguished from live ones.
Review your design
Compare part sizes using transfer retries, request count, and metadata cost. Check capability expiry, tenant byte quotas, and conflicting publications to one target key. Explain the tradeoff between direct transfers and application-proxied traffic. Choose metrics for orphan bytes, checksum failures, completion delay, and metadata/object disagreement.
Capture assumptions, sizing, and the tradeoffs behind your diagram.
Review is your own assessment of the design.