File Uploads, Photos, and Storage Without the Pain

Published 2026-03-12 by Faraz Rahimi

Photos will be huge, sometimes private, and always needed later for a dispute. Storage is part of the product, not an afterthought.

File Uploads, Photos, and Storage Without the Pain

Tags: Storage, Supabase, Python, Computer Vision, unlisted

I resize on the client before upload when I can. I keep originals only when I must replay preprocessing. Everything gets a stable path: sku/date/uuid, not "final_final2.jpg."

Access is explicit. Product library photos can be public. Exception photos of a messy returns table might not be.

Delete is a feature

A lead removing a bad library photo should not 404 the app. Soft delete or a fallback image. Hard delete from storage when policy says so, including thumbnails you forgot.

Backup is not a folder on a laptop

If the visual library lives in one bucket with no lifecycle and no backup story, you will learn that during the week you needed a lookalike pair from last month.

Original post: https://farazrahimi.com/posts/file-uploads-photos-and-storage-without-the-pain