Your reading life, visualized. Drop a Goodreads CSV export, get a beautiful, scrollable portrait of your reading history. Runs entirely in the browser.
Shelf Life parses your Goodreads library export and generates a narrative "reading portrait" — eight chapters that walk you through your reading life:
- The Big Picture — Total books, pages, years active, pace
- Your Reading Timeline — Heatmap and year-by-year bars showing when you read
- Your Taste vs. The Crowd — Scatter plot of your ratings against Goodreads averages, with hidden gems and contrarian picks called out
- Your Authors — Most-read authors, loyalty scores, one-and-done vs. return readers
- The Long and Short of It — Page count distribution, longest and shortest books
- Through the Ages — Publication year spread across decades
- Mount TBR — To-read shelf growth over time with a pace projection
- Your Reading Personality — Synthesized traits based on your data (e.g., "The Contrarian Marathoner")
- Export your Goodreads library at goodreads.com/review/import (click "Export Library")
- Open the app
- Drag and drop the CSV file (or click to browse)
- Scroll through your portrait
Everything runs client-side in your browser. The CSV is parsed with JavaScript locally. The site works offline once loaded.
Each portrait has a download button that saves it as a PNG — sized for sharing on social media or dropping into a group chat.
At the end of the portrait there's a "Publish to GitHub" section with two options:
-
Download your portrait as a standalone HTML file. Upload it to any GitHub repo, enable Pages in the repo settings, and you've got a permanent URL at
yourusername.github.io/shelf-life. Instructions are included in the app. -
Copy a markdown snippet for your GitHub profile README. A pre-formatted stats table you can paste into your profile repo's README to show your reading stats alongside your code contributions.
- Svelte + Vite — fast, minimal framework
- D3.js — heatmap and scatter plot visualizations
- Papa Parse — CSV parsing
- Open Library Covers API — book cover images (no auth required)
npm install
npm run dev
Build for production:
npm run build
MIT