Phase 10Days 113-117

Image / File Storage at Scale

Cloudinary, S3 + CloudFront, signed URLs, direct-to-storage uploads

Phase Goal

Move beyond "save a file path in Mongo" — handle uploads, transformations, signed URLs, and CDN delivery the way real apps do.

Progress

Day 113: The Storage Landscape

Day 114: Cloudinary Done Right

Day 115: AWS S3 + CloudFront

Day 116: Image Pipeline & Optimization

Day 117: Project — Oral-History Archive Ingest

Capstone
Oral-History Archive Ingest — DEPLOYED

Build archive intake for interview audio, consent forms, portraits, and transcripts: direct browser uploads, private masters, signed cataloguer links, public-safe derivatives, checksum metadata, and withdrawal rules. Use S3-compatible storage, presigned URLs, appropriate CDN delivery, and document the threat model.

  • Direct-to-storage upload with server-issued signed policy/URL and MIME/size validation.
  • Private originals, expiring reviewer links, and public-safe thumbnail derivatives.
  • Upload progress, failure recovery, and a concise storage-security README.

Phase Complete!

After this phase, you'll be able to:

  • Choose Cloudinary vs S3+CloudFront consciously
  • Implement direct-to-storage uploads with signed URLs
  • CloudFront fronting S3 with OAC
  • Image pipeline: resize, format, blur placeholder

Your apps can handle uploads at production scale without melting the server.