pnpm sync pages through my Goodreads RSS feed 100 books at a time until a page comes back empty. It reads the series from the (Series, #n) suffix on titles, drops duplicate editions shelved twice, applies a small overrides file and writes a JSON snapshot to the repo. The build only ever reads that snapshot, so a feed outage or a format change can’t break it.
There are three pages: what I’m reading now, what I’ve read grouped by the year I finished it, and what’s next. Two or more books from one series in the same group fold into one stacked tile. Under each year is a strip of spines, each as wide as the book is long on a scale shared by every year, colored from its cover. Covers are resized to WebP at build time, so the pages don’t hotlink Goodreads.
The last sync, on October 2, had 205 books: 194 read, 8 in progress and 3 to read, across 47 series.
