>>106367831
Could be something like this: user can give a rating from 0 to 1 (or 0 to 10 or whatever) where 0 is lowest quality and 1 is highest quality, then the server runs an aggregation algorithm on the ratings given by all the users and comes up with a constantly updated quality rating for the thread, on the client side you can configure the threshold over which threads/posts get hidden based to your taste or willingness to deal with shitposts that particular day.
>in any case we need to prevent coordinated attacks or someone spamming votes with different IPs
Probably impossible to prevent completely a determined attacker, but could be ameliorated with an aggregation algorithm that gives more weight to non-recent data (to counter sudden spikes of ratings), basically the inverse of the exponential moving average algos used in trading.