Hi devs, a lot of us struggling when it comes to choose the right tools to build our products when i say tools i mean everything from databases to storage services..our decision may depending on price and how easy to configure..i'm building a web app that contain images/videos, here's what come to my mind while trying to choose what services to use:
1.render
2.planetscale
3.Heroku (expensive)
1.Amazon s3
2.Linode object storage
3.Cloudinary (expensive)
1.ImageKit
2.Cloudeflare images (https://blog.cloudflare.com/announcing-cloudflare-images-beta/) it's cheap compared to imageKit and cloudinary, what like about cloudflare images that's provide storage + resizing + caching at the same time with $5 per 100k stored image and 1$ for delevering it
1.heroku
2.render
1.Godaddy
note: i'm starting with limited budget
Quick rundown of services I use :)
Infrastructure
Database
Language/Framework/Libraries
Payments
Errors
Email
thnx @drie for your reply, my app heavily depends on images/videos (think about instagram) what cdn do you use (easy to setup + cheap price) ? i think about https://images.weserv.nl/ (free and open source)
Mobile app development - Flutter
Authentication - Firebase Auth
Backend framework - Elixir/Phoenix (for the excellent WebSocket support)
Database - Postgres
Storage - Firebase Storage (I still don't have a lot of experience with this one though)
Push Notifications - Firebase Cloud Messaging API
Payments - iOS/Android IAP (Via RevenueCat)
My current perspective towards the tool/tech stack:
As an indie hacker, I don't have the capacity to learn different technologies for each project I'm doing. Therefore, my attempt is to leverage more on frameworks that works well for many scenarios. I believe modern mobile apps should have the ability to automatically update when the underlying data is changing. This means, my implementations will heavily leverage on WebSockets. This is the reason I decided to go with Elixir/Phoenix although the community is smaller and functional programming doesn't seems to be easy to command compared to languages like Javascript (nodejs).