~ 9 min read

✌️ Goodbye Goodreads

Written by Brie Carranza

A review of my reading workflow and toolkit ten months post-Goodreads.

A photo with my bike in the background at Lake Moraine this summer.

Hello world! If you want to explore a few of the tools I found helpful, click the links below. If you want information about the context in which I use these tools, this whole blog post is for you: keep reading. If that is not of particular interest, take a look at the most recent photos of my cat Plop.

🧰 Tool List

  • advplyr/audiobookshelf: Self-hosted audiobook and podcast server
  • booklore-app/booklore: BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo & KOReader sync, BookDrop imports, OPDS support, and a built-in reader for EPUB, PDF, and comics.
  • Billiam/hardcoverapp.koplugin: Hardcover.app status updating from KOReader
  • BookWyrm: Social Reading and Reviewing, Decentralized
  • Kareadita/Kavita: Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.

chmod a-w goodreads

I began drafting this blog post and “OK, Reader” around the same time in the spring of 2025. In that post, I wrote about dropping Google Play Books as I rebuilt my reading workflow with the possibilities made available by the purchase of my new ereader. Mentally, I put Goodreads into read-only mode around that time. At this writing, I have exported everything I need from my Goodreads account and do not plan on continuing to use it any longer. Additionally, I archived my profile in the Wayback Machine given the nostalgia I have for the account, the uncertainty of the future and the lack of investment Amazon has in improving the user experience. I considered going a step further and deleting the account but elected not to do so given the nostalgia, my tendency towards digital preservation and no clear perceived benefit or enjoyment in taking that step. I’m writing this blog post as much to cement moving on from Goodreads as I am to share a bit about the evolving post-Goodreads landscape that I am so excited about!

🚀 Post-Goodreads Reading Landscape

In February 2025, I imported everything from Goodreads into The StoryGraph and used The StoryGraph as a drop-in replacement for Goodreads. The StoryGraph re-appeared on my radar around the time I was looking for a solution and the things that sold me on it initially were few but important:

  • quality of book recommendations
  • not Amazon
  • the ability to import from Goodreads
    • a non-negotiable that The StoryGraph met well enough

The increased rate at which books were added to my ever-growing to-be-read pile is a testament to the quality of The StoryGraph’s recommendations. I do not consider my to-be-read list to be a pile that I will actually complete. It’s meant to be a place full of books I have already screened, reducing the time from “hmm, what should I read next?” to a decision. I periodically remove books from my to-be-read list to ensure that it remains a bookstore full of books I really want to read one day.

Over time, I grew to appreciate The StoryGraph features beyond the ones that got me in the door in the first place.

  • 🏆 Reading Challenges: I used the 2025 Book Bingo list from r/fantasy to help broaden my reading choices this year. The Reading Challenges feature provides a very nice interface for identifying specific books for a specific square and for tracking progress against the books in the list.
  • ♣️ Book Club: I tested The StoryGraph’s tools for book club discussions for a few books my group read this year. There are a few nice features but nothing compelling enough for us to continue using The StoryGraph to manage our discussions beyond the initial testing phase.
  • 💰 The StoryGraph Plus: I started a 30-day trial of The StoryGraph in February and subscribed for a year when the trial was over. The custom charts are nice in comparison to the data visualization permitted by Goodreads. The custom charts are fairly basic in comparison to what one can create with open-source tooling and free, open access to the right data.
  • 🔬 Increased precision in ratings: The StoryGraph permits rating books with quarter stars — instead of the whole number system imposed by Goodreads. I really appreciate the opportunity to distinguish clearly between a book that’s 4.25 stars versus 4.75 without having to round one down and the other up to the nearest whole star.

Ultimately, none of these features were enough for me to overlook my chief complaint with The StoryGraph.

🔭 Beyond The StoryGraph

My chief complaint about The StoryGraph is the lack of an API, a feature that’s been on the Long-term list in the roadmap since 2021. I appreciate that the development effort involved in building and maintaining a service at the scale of The StoryGraph with a small team is not insignificant. Also, I have been successful in using the unofficial storygraph-api PyPI library for interacting with The StoryGraph. Regardless, the absence of an official API for The StoryGraph and the existence of Hardcover’s GraphQL API was enough to split my focus between The StoryGraph and Hardcover.

While integrating Hardcover into my workflow and building experimental tools, Hardcover’s Book API: A great Goodreads alternative by Emma Goto was a super helpful guide.

Though The StoryGraph’s lack of an API is what expanded my workflow to Hardcover, Hardcover is not without its own shortcomings. All of this means that there is no single tool that currently meets all of my needs. I am thankful for the experimentation that the absence of a single solution has catalyzed. I’ve spent a lot of time exploring the options and I’ve identified a few distinct problems I want to solve. (🧪 If you know me, you know I greatly enjoy experimenting with different tools and utilities and excitedly describing the cool and awesome things I find along the way.) I am loosely organizing the primary problems to be solved into these buckets:

  • rating and reviewing books I have read
  • tracking progress as I read a book
  • listing to-be-read, in progress and complete books

✍️ Rating and reviewing books

I liberated ~9 years of book reviews from Goodreads on my way out. I’m still experimenting with building out a better workflow for writing and sharing book reviews. My reviews on Goodreads tended to be fairly short. I spent a lot of time in book club discussions in 2025 and I take notes as I read by default so it would be nice to share some of what’s on my mind about some books — in line with my notes and bookmarks. I am working on how to blend exports from KOReader with dataview to build a good Web publishing workflow.

For now, my Goodreads-era book reviews are at read.brie.dev and most new reviews go on Rambling Readers.

🔖 Tracking progress

The tool I use to do this depends a bit on the length of the book and the device I read it on. I use KOReader on my PocketBook (shown here) for longer reading sessions. I use ReadEra for shorter sessions on Android. I read infrequently at the desktop and rarely in a piece of software that tracks my progress automatically (though that could change with BookLore). When I am syncing progress between devices, I am typically using:

  • KOReader’s built-in service
    • The self-hostable version of this service is supported by BookLore.
  • Hardcover
    • The KOReader plugin for Hardcover supports syncing book progress between my ereader and Hardcover automatically.

🧾 Listing to-be-read, in-progress and complete books

This is the messiest area. I would love to actually have a single to-be-read pile but that would force more constraints upon me than would be helpful. Since most of my reading happens on a mobile device with automatic sync functionality, in-progress books are pretty well-handled. I’m still using both The StoryGraph and Hardcover to record the books I read and the ones I want to read. I’m happily using Rambling Readers, a BookWyrm instance for all books when I feel compelled to share something brief after reading.

🌊 Adieu Amazon

Goodreads was a big part of my life for a long time so moving away from it is not a decision I make lightly. I am slightly worse off during the transition phase given the usage of multiple tools for the same task while I evaluate. The discomfort is temporary and deliberate to give me time to experiment and identify a sustainable approach for the years to come. My reading stack continues to shift as I explore what role different tools might play in the future. Projects like Kavita, Audiobookshelf and — above all — BookLore make me wonder if 2026 will bring an end to calibre and usher in tools of a different caliber.

Regardless, I did not rush the decision to leave Goodreads. I have blocked Goodreads from the search results in Kagi. I do not care enough to do an annual bulk addition of the books I read this year just to keep my profile accurate. While I am giving myself permission to change this decision in the future, I am writing this blog post because I have enough distance from the initial decision this spring to finalize it now.

chattr +i goodreads

Ciao; here’s to even better books in 2026!

— Brie

PS: ✈️ I often aspire to write while in the air. Travel is stressful so I don’t write on planes nearly as often as I would like in an ideal world. This blog post is an exception that I’m pretty excited about. Although the original draft had been in-progress since last winter, I started with a fresh document once I got my laptop out of the overhead compartment. I wrote the core of what you’re reading now while I was totally offline with the company of Hans Zimmer’s very excellent Dune soundtrack.

PPS: 🙏 If you made it this far: hi, thanks for reading! May I recommend my favorite book of 2025? Jade City, the first in Fonda Lee’s Green Bone Saga. If you read it, let me know what you think.