Do What Works for You
Pieter Levels recently kicked off a big discussion online about the state of web infrastructure. He says that developers are being pushed towards using frameworks and services for their products with the promise that they take away a lot of complexity in exchange for high subscription fees but doing things yourself isn't that complicated and saves a lot of money.
Generally, I agree. Some of these services like Vercel are a lot more expensive than simply hosting on a private server. Paying for a service to handle your authentication seems insane to me too when you can build it once yourself and re-use it for all other projects.
But I think the discussion like a lot of things online lacks nuance. The right decision for each individual varies.
If you have a technical background learning to do things yourself shouldn't be a problem. But it's a matter of the opportunity cost of doing it. If you only need to send emails infrequently then using SES is probably not worth it. You can find an email service that charges based on emails sent and save time and money.
But if you're not technical and just starting building products you shouldn't immediately try to replicate this approach. You'll spend more time learning than actually shipping something useful. You should use what works for you now. Build as quickly as you can and see if there's value.
Then when a product is successful you can work on cutting costs and learning on a step-by-step basis.
The approach I've taken over my time building products is to replace a paid service when the cost becomes too much. I once relied on Mailchimp and other email service providers to send my weekly newsletters. But as your email subscribers grow your costs increase. As soon as I got up to the free limits I migrated to other services that fit better. Until eventually no service fit my needs without being a crazy price and I spent time building a simple service to schedule and send emails myself.
But the skills and knowledge to do this didn't come out of thin air. It came from years of gradually building more email features myself. From building authentication myself I needed password reset and confirmation emails and I learnt the basics of using SES. From writing scripts to gather data, I learnt about scheduling. So when the price became too much I already had the necessary skills.
I do hope developers especially younger ones pay attention to the core of Pieter's advice. You definitely don't need to rely on these services. But there's no perfect stack for building a product. Just because Vercel is cool now doesn't meean you need it. And just because someone says private hosting is better doesn't mean you need to.
The only perfect stack is what works for you to achieve your goals. Gradually those goals change but you'll have learnt enough to know what you need and how to build it yourself.
If you can build everything yourself quickly, great. If you can't then use whatever works until you can.