Yep I did the same thing, but running a private Invidious instance (frontend for YouTube) with only subscribed to the channels I really want to watch. Result is no more infinite rabbit hole of recommended videos, just the ones I really want to watch.
It really depends on what kind of state you're storing. For UI or other client stuff usually a context provider is enough. For server data/state I started using React Query a lot more. It syncs server data across components that use the same cache key, which is really powerful.
Oh darn. Since I have a Steam Deck I've been wishlisting games like a mad man. It's going to hard to not buy new games. One of the reasons I got a Deck is that I want to clear out by backlog.
I'm on Signal (obviously not self hosted) and even if I really wanted to move to another platform be it self hosted or yet another privacy focussed one, I can't ask my friends and family to move to another platform again. I already asked them to move away from WhatsApp, can't do it again..
I've been using Firefox for a long while, but it's been quite buggy lately so I switched to Brave for now. Until Arc Browser on iOS is like a real browser instead of just a companion app.
Yep I did the same thing, but running a private Invidious instance (frontend for YouTube) with only subscribed to the channels I really want to watch. Result is no more infinite rabbit hole of recommended videos, just the ones I really want to watch.