I've received some questions about my algorithm experiments. First off, I'm building this mainly for myself, since I often don't have time to scroll through posts chronologically and just want the best and most important bits from my social media. It's opt-in and currently only an experiment in my fork.
How the "For you" ranked feed on mementomori.social actually works:
First, the ground rules. Again, "For you" is opt-in on our instance. If you never touch the toggle, your home feed stays exactly as it is: chronological, complete, and untouched. Nothing below applies to you. We never turn it on without your consent, and every setting is stored and controlled by you.
Where the posts come from. The feed ranks the newest ~800 posts and boosts from people you follow. If you also enable "Include posts from people you don't follow," trending posts on the instance get mixed in, roughly one in every four slots, and your scrolling can continue through the trending pool once your own feed runs out.
How a post is scored. Every post receives one score made of four parts multiplied together:
1. Engagement: boosts count 3x, replies 2x, favourites 1x.
For posts from other instances, we use counts from their home instance so federation doesn't undercount them.
2. Your affinity to the author: how often you've favourited, boosted, or replied to that person in the last 30 days.
It's logarithmic, the 5th interaction matters much more than the 50th, so no one can dominate your feed just because you liked them a lot once.
3. Time decay: a post loses half its score every 6 hours. Old posts fade no matter how popular they are.
4. A touch of randomness (±10%) so the order isn't fixed.
Freshness. Every post shown to you goes to the back of the line for 2 days. That's why refreshing gives you new posts instead of showing the same viral hit again and again, and why "Load more" always digs deeper instead of repeating.
Housekeeping rules: boosts show the original post. Your own posts and boosts never appear. Private mentions never appear. Brand-new posts wait 15 minutes before entering so they have a bit of time to gather reactions first.
What it does NOT do: There's no tracking beyond one thing: a list of post IDs already shown to you, which auto-deletes after 2 days. No reading your posts, no content analysis, no machine learning, and no profile built about you.
The weights above are the entire model, and your instance admin can adjust every number. Hopefully, if this project matures, you'll be able to adjust every weight yourself.
Code for the curious:
github.com/mementomori-social/…
Add opt-in ranked home timeline (experimental) by rollecode · Pull Request #4 · mementomori-social/mastodon
Algorithmic home feed as an opt-in experiment. Same idea as Twitter's open sourced ranking pipeline (candidates, score, mix) but stripped to what a single instance actually needs. Chronological...GitHub

Rolle Laukkarinen
in reply to Rolle Laukkarinen • • •I know recommendation algorithms aren't usually what the Fediverse community wants, and that's why I want to emphasize that I'm just building this in public, for myself, with no hidden motives or bad intentions. I'm not pushing this to the core or forcing it on anyone.
The goal is simply to have a familiar way to browse posts that get attention among my peers. The current core "Trending" page is great, but it often feels stale since it focuses on top posts from the past 24 hours.
I guess I just use my social feeds in a more fast-paced manner.
aqunt
in reply to Rolle Laukkarinen • • •Domingos Faria
in reply to Rolle Laukkarinen • • •Rolle Laukkarinen
in reply to Domingos Faria • • •@df There have been a few attempts in the past, and now I'm taking on this crazy challenge to build it directly into the core of our fork 😅. I just hope we can keep it mergeable with future updates without running into huge merge conflicts every time... but I'm pretty used to that by now.
The feed already feels like it's working just the way I envisioned it.
Jukka 'Shrike' Kolehmainen
in reply to Rolle Laukkarinen • • •Had a weird moment as I couldn't find the setting, but realized I'm on the Mastodon app and this is on the server (meaning browser I guess).
Rolle Laukkarinen
in reply to Jukka 'Shrike' Kolehmainen • • •Tarmo Thorström
in reply to Rolle Laukkarinen • • •Omega_Scribet
in reply to Rolle Laukkarinen • • •Thanks for the additional information, Rolle. I had my doubts when I first read the word 'algorithm'. But the info about 'Add opt-in ranked home timeline' on Github eased my mind a bit, and then seeing this post reassured me.
I'm glad you're open about this and are taking the time to explain it all. 🙏