Start by determining what absolutely needs to be included in a minimum viable product, and prioritize ruthlessly. Amazon does this using "press-release-driven development."
Create a simple proof-of-concept prototype, maybe of just one small tiny aspect or feature of the system and then continuously iterate. Don't try to boil the ocean all at once. The positive feedback from having something that works, and then being able to try out changes and improve it is much more pleasant than the continuous frustration of having something large and complex that doesn't work which you keep needing to fix bugs in.
In your case, I'd start by building a "Hello World!"-style app using some simple framework like Python Flask (https://flask.palletsprojects.com/en/2.2.x/quickstart/) or the node server of your choice. If it's longer than 50 lines, then you're doing it wrong. No CSS, no client-side JavaScript, just a plain HTML form that lets you POST an image from a browser to the server filesystem. Then once that works, start adding more functionality: add another endpoint where you can see the POST-ed image, once you can see the images, give them content-addressable hashes, post the images to some cloud service, etc. But first get something working locally that you can rapidly iterate on. Good luck!