The problem
Phone uploads are rarely a perfect network session. Restarting a large video after every interruption makes a media library frustrating.
Upload in pieces
The portfolio accepts bounded chunks and tracks the next byte offset. Choosing the same file again can resume an interrupted upload rather than create a new item.
Separate original and public copy
Uploads begin private. Public images are converted to standard sRGB derivatives with embedded location metadata removed; publishing is explicit. Videos are prepared in a background worker.
Bound the system
File limits, a storage quota, a single video worker, and duplicate-content detection keep one upload from consuming the machine. This remains a PC-hosted personal project, with the availability limits that implies.