Skip to content
Code by Pawpu

System Design Simulator

File Storage

Design object storage for user uploads with metadata and access control.

Loading simulator…

How the challenge works

  • Metadata and ACLs live in your database. Bytes live in object storage.
  • Signed URLs keep credentials off the client and bandwidth off your API boxes.

Key concepts

Control plane vs data plane

Auth, virus scan, and sharing rules are control-plane work. Transfer is data-plane.

Common mistakes

  • Streaming 2 GB PDFs through Next.js or Spring controllers.
  • Using a search cluster as a file system.

Recommended architecture

  • API + database for metadata, object storage for bytes, CDN for public/hot files, workers for scan and thumbnails.

Interview tips

  • Mention multipart upload and content-type allow-lists without being asked twice.

Related challenges

Built by Al Beltran