I really want to do this, but it would be impractical to go through the thousands of communities available and decide if I like it or not. It also doesn't account for new ones which means I'd have to keep going through the list and look for the ones I haven't looked at yet. Therefore, I've just done it Reddit-style where I look at what's the top posts of the day and see if I like what I see.
Reddit was originally gonna do a per-user recommendation engine, and then it kinda never happened. Might be technically-possible for someone to do one. Classify content (download submitted webpages, run text classifier on them, download images, run image classifier like Stable Diffusion's Clip Interrogator on them), then look at what things get upvoted and what gets downvoted.
So, sub to the ones you come across that you like, then browse your subs most of the time and just check All occasionally to see if something new catches your eye.
Or he could as easily block the ones he doesn't like and stay in all. Just depends how picky he is. Granted, the fact we're having this discussion implies he's fairly picky.
That's a perfectly acceptable approach, but it's a bit odd to complain about seeing things you don't like in /All. Of course you do, no one likes everything.
I feel I want three sections in my app: one for all, one for a selection of subscribed communities, one for 'most' with a bunch of communities blocked. Maybe I should just use multiple accounts and flip between.
Or* a second subscribed feed with a larger subscription list, so my smaller list of niche communities doesn't get drowned out.