Introducing: Personalized For You
Content Discovery with Account Relay in the Fediverse
Personalized For You is now in beta. Click here to join the TestFlight.
The fediverse is an amazing platform that has seen an influx of new users, but many have found it “hard” or “difficult to use.” Onboarding can be quite challenging, but things are getting better. Our top priority has been —and continues to be— improving the user experience, and one crucial aspect we're focusing on is content discovery.
Our first major push on improving content discovery was the introduction of the For You feed, based on a curated list of interesting, diverse, Mastodon accounts. This approach allows users to stumble upon exciting content and discover new accounts they might not have found otherwise. It also helps users expand and improve their own home feeds.
But each user has unique interests, so we are now introducing our first personalized For You feed, specifically tailored to each user's interests. Think of our Personalized For You feed as a Friend Of Friend feed: trending posts among the people followed by the people you already follow.
Our Approach: Account Relay
Account Relay emerged as the solution to bring personalized content to users' feeds. The main challenge was how to include “friends of friends” accounts in a Mastodony way in a user's feed without them having to follow each of these accounts individually. We explored several options, including sending partial lists of accounts with available statuses or setting up a bot to follow all accounts from the “friends of friends” list, but settled on an approach centered around Account Relay.
As we got to know relay servers, we really benefited from other Cooperative Relay projects, especially Activity Relay Server by Yukimochi and FakeRelay by Gervasio Marchand. Big thanks to Yukimochi and Gervasio for those awesome projects and for helping us sort out some thorny challenges.
Account Relay operates as a standard relay relationship with an instance, but with a twist. It retrieves the statuses from a carefully defined list of accounts for each Mammoth user and delivers those statuses directly to the inbox of Moth.social, ensuring users receive content from Friend of Friends accounts, even if they haven't followed them individually. This list of accounts is continuously updated through authenticated HTTP requests from Moth.social.
Privacy and Data
To offer Personalized For You, we store your Mastodon username along with the Follow Suggestions generated for you by Followgraph, on our servers.
That’s all. When a user connects to Personalized For You (provided that user has a public social graph), we run a social graph search (using FollowGraph) for the public accounts that user follows. We store the name of the Mammoth user along with the generated list of usernames, but not full account profiles or other connections. This data is used on the Account Relay service to send new statuses to Moth.social. Account Relay holds the most recent status ID fetched for each account and uses it to ask for only new statuses.
The Promise of Personalized Content
We believe Personalized For You is a great first step towards dramatically improved content discovery in the fediverse. Users can now find relevant and engaging content, specific to their interests, for accounts and content they may not otherwise see or know about. But we’re just getting started —always looking to improve the fediverse experience for everyone.
Personalized For You is now in beta. Click here to join the TestFlight.