Making a Reading Tracker

As an avid reader and software developer, I'm sharing my journey from using Goodreads to my decision to create my own web app for better managing and tracking my reading habits, particularly for series-focused books.

Written by: Colin Bate

Open book being scanned by a laser scanner.

I’ve always been an avid reader and, apart from software development, reading remains one of my main pastimes. It’s no surprise, then, that I eventually considered developing software to support, enhance, or augment my reading hobby. In the past, around 10 years ago, I toyed with the idea of creating a reading tracking tool. This idea stemmed from discussions with my mother, also an avid reader, about the annoyance of accidentally re-reading books without realizing it. I envisioned a tool where you could maintain a list of books you’ve read and refer to it when considering new titles.

However, at the time, my day job kept me too busy to pursue this project. I decided it was easier to find an existing service, and that’s when I stumbled across Goodreads around 2014 or 2015. Goodreads, already owned by Amazon then, seemed like a perfect fit. It allowed users to record their books and set up shelves. The interface felt a bit dated even back then, and though they had an app (which wasn’t great), it served its purpose.

Over the years, I’ve noticed Amazon’s neglect of Goodreads. They’ve recently updated the UI somewhat, but overall, they’ve deprecated API access and left it feeling abandoned. This neglect has prompted me to seek better control over my book and reading history. While you can export your library from Goodreads, the export quality is lacking. It’s incomplete and, as many have noted in forums, often inaccurate.

Therefore, I’m embarking on an effort to take my export from Goodreads and import it into my own database. My aim is to maintain, curate, and enrich my data, ensuring its longevity. While I might continue using Goodreads for the short term, I plan to maintain my own copy of the data in a more useful format.

My ultimate goal is to create a web app that replaces Goodreads for tracking my reading habits. A significant challenge is sourcing data for the books I read, many of which are Kindle Unlimited titles without ISBN numbers and are difficult to find in non-Amazon databases. I’ll likely use Amazon’s Product API for this purpose.

I’m not looking to create a social site or a comprehensive physical library management tool. My focus is on creating a simple list of books I’ve read, possibly organized into shelves. A key feature I want to include is series tracking, as most of the books I read are part of multi-book series by the same author. I want to keep track of ongoing series and newly released books.

If I can make this into something that is usable by others, then that is great. It is my intention that it supports multiple users. But it will be a gradual build. First, I need to extract my data from Goodreads in a usable format, then slowly develop a user interface to meet my needs.

My planned tech stack (subject to considerable change):

If anyone is interested in this project, I will post updates here or on a Github repo once it’s set up. I welcome collaboration or interest from anyone who finds this tool useful. And to all the readers out there, happy reading.