We have another entry in the Better Social Media series. This time it is BookWyrm, which is a competitor to Goodreads but which has the advantages of begin decentralized, and allowing connections with other federated media like Mastodon and Pleroma because it uses ActivityPub. So that ticks a lot of good boxes for me. And of course it also has the advantage of not being owned by Amazon. So there is a lot to like here.

To get started, you go to, and click the Join BookWyrm button. And as with all federated media you have to pick an instance to get hosted on. Remember that the virtue of federation is that there is not a centralized server that everyone is on, but instead a whole lot of servers that communicate with each other, and that is what the ActivityPub protocol facilitates. So your first decision will be to pick an instance. There are several of these, and some of them are in languages other than English, including Lithuanian! I saw one that was private, so you had to request an invitation. And again, being decentralized means you can have all kinds of options without causing problems.

Also, like all federated media, each instance can have its own set of policies. These mostly can be summed up as “act like a jerk and we kill your account,” which doesn’t bother me particularly, but you might want to look for what they have have as a written code of conduct. To see what each instance requires, click the Learn More button for that instance when you are on the Instances page. Right now there are not a lot of instances, as this is still a fairly young project, but it looks promising to me. One thing I notice that was highlighted on several instances is that they don’t guarantee anything in terms of uptime, and that it is up to you to back up your data. Personally, when I write a review of a book I have read, I also post it on a blog on my web site, and that is my backup. I am a strong believer in having my own web site and controlling my content that way instead of relying on a social media site to do it.

Technical details

The BookWyrm project is hosted on GitHub, and uses some pretty standard technologies, like Django, PostgreSQL, and Activity pub on the back end, and Docker and nginx for the server. it also connects to OpenLibrary for book information. OpenLibrary is itself a project of the Internet Archive that aims to be a library catalog that includes “building towards a web page for every book ever published.” Note that the Open Library also lends out electronic copies of books, though that has been a subject of controversy, with the Authors Guild suing them claiming it is nothing more than “A flagrant violation of copyright law.”

The use of ActivityPub means that you can post a book review on your BookWyrm instance and have it flow to your Mastodon feed. Then someone who follows you on Mastodon can read and post a response that flows back to BookWyrm. And of course if you are on one instance and you have a friend on a different instance, you can follow each other, read, respond, and so on.

Right now as I write this it looks like there are 11 contributors to the project, so as I said it is still pretty early, but that means you can get involved and help shape the direction of the project.

Joining is the largest instance, and described as the “Flagship instance”, so that is the one I decided to join to try out this service since I figured it would give me me the best look at how it works. Just click the Join button, put in a user name, e-mail address, and password, and submit them. Then you need to get an e-mail back with a link to confirm your e-mail address.

Once you have confirmed your e-mail address and logged in you are invited to create a Profile, add some books, and find people to connect with. Since this is a federated application using ActivityPub, they don’t have to be on BookWyrm! I could just add some of my friends from Mastodon or Pixelfed, two other ActivityPub applications I am using. However, this might just result in seeing everything twice! I found that when I added my Mastodon friends to Pixelfed I saw all of their photos on Mastodon, and then again on Pixelfed. Of course, I may not be using everything correctly. In this case, I decided to try a slightly different approach. First, I posted on Mastodon looking for anyone I know there who may be on BookWyrm. Then I noticed when I added the book I am currently reading that it had been reviewed and rated by another BookWyrm user, so I clicked their profile and requested an “Add”. I might make a new friend or two this way. I also posted about this on Diaspora, which I also use, though it is not an ActivityPub application (unfortunately).

Adding Content

Of course, the next step is to add content. I already added the book I am currently reading (Hero of Two Worlds, by Mike Duncan, if you are curious). But I have a bunch of books I already read that are on Goodreads, and I can copy that content. This is where I have to prepare by creating some “shelves”. Now, shelves is used metaphorically, of course, because we are used to putting physical books on physical shelves, but in reality they are more like tags or labels. Any given book can have multiple of these “shelves”. The three default shelves are Want to Read, Reading, and Read, which is OK, but I have used custom shelves for a variety of other things in Goodreads. First, I have e-books from multiple sources. Some I have bought from places like Google Books, Amazon, Kobo, and Nook. Then I have some physical books still, and some others that I got as e-books directly from the author (e.g. Michael W. Lucas), or from a Story Bundle, or a Kickstarter. Then I also like to indicate the genre. I have lots of books in History, Science, Science Fiction, Music, Politics, and so on. So to meet my needs I really have to have those custom shelves. It is now easy to do, there is a button on your home page to do this.

The next thing that BookWyrm offers is to import from a *.csv file. And that happens to be how you can export from Goodreads, so if you wanted to switch you could. Why would you want to switch? Well, Goodreads is now owned by Amazon. That can be good if all or most of your content is on a Kindle as it allows for pretty good integration. But I suspect that for some people Amazon is a dirty word, and not using Amazon is important. So you do have a path to switch. That said, at the time I am writing this (April 2022) the import function still has issues. And that can add to the work of moving things. I have to point out that I have a ridiculous number of books on my Goodreads account, which may have added to the problem, but when I tried to import my entire collection of 1800 books, about 60 failed to import for some reason. In many cases, BookWyrm offered The Fellowship of the Ring as an alternative to the book I actually had.

When BookWyrm doesn’t have a book listed you have to add it. I have run into this because some of the books I like come from smaller publishers. And sometimes BookWyrm will have the book, but not the particular edition. When I run into that I try to be a good citizen and add the information. But then, my wife says I was meant to be a librarian, and given her track record I have to think she is correct.


Right now BookWyrm is not quite mature enough to replace Goodreads for my uses. However, it is being actively developed, and I have seen major features added over the last 6 months or so. So I made a small cash donation to the developer and will keep following this project. And I encourage you to check it out.

 Save as PDF