Skip to main content
← Tool Garage

Data station

File storage

Where uploaded pictures, PDFs and videos actually live — not in your database.

1. Learn it

  • A database is for facts; storage is for files. Putting a photo in a database row is a classic early mistake.
  • You save the file to storage and keep only its address in the database.
  • Public vs private matters enormously: a public bucket means anyone with the link sees it, forever.
  • Signed URLs are the middle ground — a link that works for one person for ten minutes.
  • Watch the file size limit and the egress cost. Serving video is where bills appear from nowhere.

Cost: Free tier for a few gigabytes; costs scale with traffic, not just storage.

2. Practice it

Simulated — nothing real happens

Decide who can see an upload

For a profile photo and for a customer's invoice PDF, say which should be public, which private, and how the private one reaches the right person.

3. Connect it

Real — your own account
  1. 1If you already have a backend here, storage comes with it — create a bucket and set it private by default.
  2. 2Upload one file from the dashboard, then fetch it from your app, before you build an upload form.
  3. 3For heavy media, compare Cloudflare R2 — it doesn't charge for data leaving.

MessyDev never signs you up, spends your money, or touches your accounts. You do that part.

4. Use it

Any time a user can upload something: avatars, documents, images the AI reads.

Honest alternatives

There is no single correct stack. Any of these would be a reasonable choice instead.

  • Cloudflare R2
  • Amazon S3
  • Uploadthing
  • Backblaze B2

More in Data