
Recently, I was looking for a simple way to share photos amongst friends and family. But no way I would pay $14.99 a month for a turnkey solution! ...
For further actions, you may consider blocking this person and/or reporting abuse
I like the honesty. I got often lost in toy projects with my kids (let’s build a chat app). But yeah, experience makes estimations better, but if you have never done a similar project, well then you have to earn that experience first. But learning is fun and estimations are still wrong, so long live the optimism that it works next time
If estimations were always right, a lot of projects would have never been build 😃
“Let’s add a chat to this” is a classic though. 😅
tbh stories like this are gold i always think i can just 'hack it together' quick and then boom two days gone, makes me wonder if actually learning by pain is the whole point sometimes you think it's just ego or something else at play?
there is no other way than learning by pain - If it does not hurt, you learn nothing :-D
Even with a prototype, 5 hours is unrealistic. If you haven't done something to completion before, a week is the most optimistic estimation for a small application. And at least 2 of those days just thinking about how it should work and were it will go wrong. A prototype is only an indication it can work.
Estimations should be as methodical as analyzing an application. If an estimation is based on a gut feeling external factors come into play, and then things go wrong.
What, why? This is a ridiculous way to work with files.
My go to for images is after the upload creating a thumbnail and a preview image.
You are going to need to deploy at one time or another for some reason.
I think it is a mix of setting not enough boundaries and a lack of knowledge. I'm fine saying I don't know even if people think I'm the expert. By people I mean myself :)
You can spend 6 Weeks with planning and estimations and still be off, no matter how methodical. „Predictions are hard, especially if they are about the future.“ The return on time spend by adding planning goes down fast. I think people do it mostly for psychological reasons to calm themselves down :)
Creating thumbnail and preview images myself (with a script) is something that I want to avoid and the main reason I chose Nuxt image. If you want to serve best quality to all device sizes and screen resolutions, and not overshoot too far, you need at least multiple thumbnail and preview image versions, which adds complexity.
Ps - That cache only in memory statement might have been wrong - I am not sure and did not find docs. I removed it. I just saw memory spiking and missed that the default ttl of Nuxt image is only 60s 😓
You don't need weeks for estimations. First break down the parts of the application. Then see if the parts are something you did before or not. For the tasks you did before you can have estimations. For the things you haven't done before, set a time to figure it out to come to an estimation.
If you are in a situation you have to give estimations to someone else, that last part is the hardest to communicate because it can blow up the timeframe. A way to come to an acceptable timeframe is to separate the essential features from the nice to haves. Because the application is broken down in parts, this is easier than depending on a gut feeling.
I understand browsers have that capability now, but it doesn't come for free. I'm always concerned about storage, because I confine myself to a world where storage is expensive.
That is why my default is a few formats that solve 80 procent of the cases.
Like I mentioned before set boundaries, they help you to come to solutions faster.
It’s good to have a framework like this if you need to do estimates on a frequent basis and it might help every now and then - I used to work with something similar for freelance clients. But retrospectively I made the experience that I either exactly knew how to pull it off because it was a template project or estimations would be a round of roulette. You just can’t account for what can go wrong and what you don’t know and even with consulting an „expert“ you shift the uncertainty to choosing the right person. At some point I decided to drastically simplify the process - start with a quick estimate and add a huge uncertainty factor and communicate that it could be off in advance to the client so he is prepared
Not everything of it but you can mitigate the problems by setting boundaries and getting as much knowledge as needed for the estimation. I sound like a broken record, but it is how everything works.
I want to build a big house. Do you have enough space? Is is allowed to have a house in that spot? Is there a maximum restriction for that spot? Can you afford it?
I have a problem with adding x amount of time when it are bigger features or a project. It is just gambling with time.
I rather add a little extra time to smaller parts than to big parts. From my experience the estimations are more correct that way.
Beginning was intriguing, but as read father it became overcomplicated. Honestly siple ftp server would be enough. I would recommend to build server yourself and deploy it on raspberry 5 or sth, also buy domen and you have home made server and not only for files)))
don't know how an ftp server fixes anyhting here...
I have few points:
Your solution isn't very cost-effective considering: Cloudflare R2 + transforms ($3.15/month), VPS Hosting ($5–10/month) + your time;
For me, file sharing (not just photos) is mainly about upload/download speed and having reliable storage. If you’re set on using HTTP, setting up your own FTP or HTTP file server can give you full control — otherwise, just use something like Google Drive; the free tier gives you 15GB, which is more than enough in many cases;
Cloudflare R2 is still on free tier and as mentioned, I’m not using their image service so there is no cost for transformations (if I paid for it the transformed files are cached in Cloudflare so it would be much less) + VPS is shared with other apps bringing cost down to effectively ~$2 total per month.
The whole point of the app is allowing every day users (NOT programmers or Computer enthusiasts) to share and view their stuff without requiring a Google account.
Man, I've 100% fallen into this trap thinking 'it's just upload and display, how hard can it be?' The caching headaches alone are enough to make anyone cave - how did you finally handle user upload limits in production?
I didn't - if people want to upload less, it works, if not i get a text message and i upload it myself
This was fun to read! It’s crazy how 'just a photo app' turns into days of debugging and learning. One thing I learned too—what seems simple often hides a lot of invisible work like caching, memory issues, and user behavior. Trying first is great, but knowing when to build vs. buy saves time and sanity.
Been there, man - always feels simple at first and then turns into an all-weekend grind. Love this kind of build-it-anyway energy!
Keep up the grind ✊