I'm pretty sure when I joined Whatsapp you could pay to have access for a couple of years, so it had a sustainable model, especially if they just turned the dial slowly on pricing.
I'm actually selling my Pixel 2 XL off to a friend after having it for 3 months, Google's got too creepy I'm switching back to my old 5s. As much as I hate the price, I have privacy.
If you have your own domain and don't send more than 10 emails (and a limit of 1GB) a day you can get Migadu, and I think it's $5 for upto 200 or something emails a day out (and practically everything is unlimited).
I still can't fully switch from GMail, but I've prepared myself so I have to since I'm gonna pay.
Which could be an issue with the router, device hardware, or even ChromeCast. Anecdotally Youtube seems to interact weirdly sometimes and trigger bugs in other devices.
essentially the api will return all toots from whatever timeline you're asking it for, e.g. if your instance is federated with 5 servers, you'll get your timeline from people tooting from these servers, I think the "public" timeline (can't remember the exact name) is all the toots from all federated instances you federate with. So it would be the same data as the browser has.
I think the biggest problem for the app developers is an interface that lists a lot of instances that you can search for which you identify most with (I think some use a centralised list someone has created somewhere). But that's a bad UX to jump into as a new user.
Also if your coding guidelines can use emojis in commit message to mean a certain thing if you all have a common lookup and it becomes natural to see what a change affects. e.g. :bug: for fixing bugs
You can do that with plain ASCII, e.g. Github recognizes the phrase "Closes #123." in commit messages and autocloses that issue when the commit is merged into master. I've seen similar commit hooks in SVN over 10 yrs ago.