TensorFlow.js is a pretty nifty piece of software and it's underutilized. If the model parameters can be stored in IndexedDB then users could train TensorFlow.js based site augmentation to suit their own needs.<p>For example, what if HN had a TensorFlow.js model for ranking new submissions based on the user's preferences? This model could be trained like a spam filter and would eventually learn the types of articles that someone likes to see but they would be in charge of the model's evolution and so would be empowered to use it however they saw fit. Maybe I don't care about politics then my model parameters would eventually converge on downgrading all political posts and the more technical submissions would rise to the top based on how I upvoted new and front page submissions.<p>There is a lot of interaction data sites are just leaving on the table that could be used to enhance user experience. There is only so much processing that can happen centrally so offloading some of the computation to user devices with these models I think makes a lot of sense. Centralized ranking is fine but it only shows the average opinion of the group (by construction, because it is averaging all inputs from all users).<p>One can imagine a staggered and federated system of ranking that expands from the users preferences all the way up to all members of the forum. If I trust certain users then I might want to use their model parameters to inform my own ranking decisions. And if they were willing to share their parameters then I could view the site with their model or make an ensemble and weight inputs however I saw fit.<p>Twitter blocklists are a very poor form of such a system in that they're static, centralized, and not controlled by the users. A personal version I think could be built that deferred Tweet ranking decisions up to the user and the ensemble of models they'd chosen to trust.