← 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 happensDecide 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- 1If you already have a backend here, storage comes with it — create a bucket and set it private by default.
- 2Upload one file from the dashboard, then fetch it from your app, before you build an upload form.
- 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
SupabaseYour app's memory: a database, logins, and file storage in one place.NeonA Postgres database on its own, with branches like code.ZapinnerOne API that cleans, checks and de-duplicates messy data before it reaches your app.Google SheetsThe database you already know how to use, and a perfectly honest place to start.AirtableA spreadsheet that behaves like a database, with real field types and links between tables.NotionDocs and simple databases in one place — where your plan, notes and content live.