A federated social reading platform for tracking books, writing reviews, and discovering recommendations through decentralized communities.

BookWyrm is an open-source, self-hosted web app that provides a social network for tracking reading activity. It allows users to log books, write reviews, and discover new titles through a decentralized network of communities. The platform focuses on meaningful human interaction by allowing readers to share their progress and opinions without relying on a single corporate entity.
The software is deployed as a web server and utilizes the ActivityPub protocol to enable federation. This allows users on different BookWyrm instances, or other compatible services like Mastodon and Pleroma, to follow each other and interact with posts across different servers. This architecture enables the creation of small, self-determining communities, such as a private server for a specific book club or a public instance dedicated to a particular literary genre.
The application is built with a Django backend and a PostgreSQL database. The frontend is constructed using Django templates, the Bulma CSS framework, and vanilla JavaScript. To handle background processes and the activity stream, the system employs Celery for task queuing and Redis as the task backend. Deployment is typically managed via Docker and docker-compose, utilizing Nginx as the HTTP server and Gunicorn as the web runner, while Flower provides monitoring for Celery tasks.
BookWyrm is designed for readers and community managers who want to move away from monolithic social media services. It is a tool for social reading that prioritizes decentralization and community autonomy over centralized data collection.
Host a federated social network where users share posts, media, and interact across ActivityPub servers.
A decentralized social network built on the AT Protocol to provide user control over data and experience.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.