Post

The non-technical version: Every person gets their own database that stores their own likes, comments, etc. You register those individual databases with the Bluesky server who then goes and asks for your data from your database and compiles it with everyone else’s to create your feed.

thanks, I renamed some services in the article to make it easy to understand. You'll find the original renames through hyperlinks in the article.

• Bluesky is a decentralized social network; it distributes control across servers. • They built Bluesky on top of a decentralized open-source framework called ATProto. • They use a federated architecture for its familiar client-server model, and convenience.

• They define separate data schemas and API endpoints for apps built on ATProto. • They store data published by a single user in a repository; it uses SQLite as the data layer. • The repository stores information about every action by a user such as a like, or comment on a user's post.

• They store repositories of different users on a data server; it exposes HTTP for clients. • They use the crawler service to collect information from each repository. • The crawler forwards the collected data as a stream over websockets.

• Yet the stream doesn't contain information about the total number of likes or comments on a post. • So they use the index server to process the stream and find the total likes or reposts.