Those are good considerations when designing an algorithm. Algorithms should not necessarily run purely on the client, as it could end up downloading a lot of notes that don't get seen. There has been discussion of algorithm-providing DVM's.
Yeah, I played with the DVMs on Amethyst and I think it’s a nice sneak peek at the future. I just learned about this website recently which explores the ideas a bit: https://noogle.lol/discover