Using Heroku puts two levels of bloat between you and the hardware, and locks you into a hosting environment that becomes very expensive quickly. Eschew.
I disagree with this wholeheartedly and just posted why above but wanted to reiterate it here. This might just have been a throw-away comment but "bloat", lock-in & cost are red-herrings.
"Bloat" here is a virtue. Heroku removes two levels of drudgery and administration between you and the hardware. Who wants to be racking hardware? Who wants to be patching the OS? Who wants to be dealing with package vulnerabilities? None of this helps actually build the business
Lock-in is minimal, particularly if it's a self contained app and you're not using a lot of services. There are countless examples of companies who've moved off of Heroku when they've gotten big. Plus there's also lock-in using EC2, S3, AWS. There's lock-in of some level regardless where you run your stuff.
Future cost is also really, very very low because P(success) is, sadly, super low.
Built in to your comment is the assumption that you're trying to grow your business big or die.
If you're working in a niche market, costs are important and keeping them low can be the difference between having an independent livelihood and failure.
No it's not, it's really not. In fact I think in a niche market then it's often even more true.
If you're building in a niche then (almost by definition) you're not going to need a lot of infrastructure. There won't be millions of customers and they (usually) won't need tons of infrastructure.
I think the only case is where you're building a business like Pinboard :) Where the CLTV is relatively low but the the bandwidth, storage & compute is relatively high.
Regardless of the market you're in though, if you want to build an independent livelihood or a lifestyle business typically infrastructure costs still shouldn't be a factor.
A good livelihood might be $50k/yr say or $4k/mo roughly. The difference between $5/mo and $500/mo in hosting costs isn't what determines success or failure. It's whether or not you've built, marketed and sold an app to 5 or 500 customers.
I agree with your overall sentiment I think, but there are many side gigs where $5 vs $500 a month is the difference between viable and not viable. Sometimes it's the difference between sticking with an idea long enough to turn it into something viable; something that's bleeding you $500/mo won't have as long a life as something that's only $5 or $25/mo while you're figuring out if there's something worthwhile or not.
A niche market cuts both ways. Sometimes you don't need to worry about scale, but you also can't bet on large numbers of customers coming to cover up inefficient choices.
I wouldn't say it locks you. All the configuration is done via env variables, so your app code will have no Heroku-specific parts at all. Since it's a very known and popular platform there are many resources online about how to migrate away. If I were given a task to migrate between hosting providers I would rather deal with Heroku apps than anything custom and bespoke on top of DO, Linode, or AWS: heroku apps are just so predictable.
Besides, not every app needs big computing power, and many businesses can thrive on Heroku for a long time. An employee of ProductHunt mentioned on a podcast that they ran their website on 3 Performance L dynos at in 2015. That's $1500 plus some extra for the database and other services they may be using (say $3k in total). That's one of the popular websites out there, and that's a pretty good indication of an upper bound of the infrastructure cost on Heroku for a popular product. Most will never exceed the $200-300 a month.
Is $3k a big sum? Yes, it's noticeable.
Will you end up spending more on hosting plus the ops work that needs to be done over time for a similar app to run and grow? Likely.
"Bloat" here is a virtue. Heroku removes two levels of drudgery and administration between you and the hardware. Who wants to be racking hardware? Who wants to be patching the OS? Who wants to be dealing with package vulnerabilities? None of this helps actually build the business
Lock-in is minimal, particularly if it's a self contained app and you're not using a lot of services. There are countless examples of companies who've moved off of Heroku when they've gotten big. Plus there's also lock-in using EC2, S3, AWS. There's lock-in of some level regardless where you run your stuff.
Future cost is also really, very very low because P(success) is, sadly, super low.