Minimal, offline-first reading log with JSON backup/import, security policy, and contributor-friendly docs.
βΆ Try it now: https://conorgregson.github.io/reading-log-app/
Data is saved locally in your browser via
localStorageand is separate from your local dev data.
Readr is a lightweight, browser-based reading log. Built with vanilla JavaScript, HTML, and CSS, it helps you track your books without external accounts, sync, or setup.
- Add, edit, and remove books from your library
- Track reading status (Planned, In Progress, Finished)
- Organize and browse with search, filters, and saved search presets
- Log reading sessions with minutes and optional notes
- Daily & weekly goals with progress tracking
- Automatic streak calculation and reading summaries
- Keyboard shortcut to jump straight to Session History search
- Export your full reading data (books + sessions) as JSON
- Import backups with validation and auto-normalization
- Import error handling for malformed or outdated data
- Per-day trend chart showing your reading activity over time
- Top Books chart (minutes/pages read per book)
- Both charts include accessible text summaries for screen-reader users
- Charts update instantly when sessions change
- Generate a clean progress snapshot card
- Export snapshot to PNG for sharing
- Theme-aware visuals (light/dark mode)
- Dynamic logo switching for contrast
- Shows trends, books completed, streaks, and total reading time
- 12 built-in achievement badges
- Live-updating βX of 12 unlockedβ summary
- Primary-color highlight for unlocked badges
- Accessible announcements when new badges are earned
- ARIA live regions for charts, badges, Snapshot, and search
- Keyboard navigation and improved focus handling
- High-contrast visuals in dark & light themes
- Fully offline
- All reading data stored in
localStorage
- Frontend: HTML, CSS, Vanilla JS
- Storage: LocalStorage + JSON import/export
See the full Roadmap for milestones and timelines.
-
Clone the repository
git clone https://github.com/conorgregson/reading-log-app.git cd reading-log-app -
Open the app Simply open the
index.htmlfile in your browser.- No build steps or dependencies required.
- Works entirely offline with
localStorage.
-
Start using the app
- Add, edit, or remove books from your log.
- Track your reading progress and completion.
- Backup and import your log as JSON files
Readr v1.9.0 introduces the first major step toward visual insights and motivation-driven reading. This update adds charts, shareable progress snapshots, keyboard shortcuts, and meaningful accessibility upgrades.
- Per-day reading trend chart with accessible text summaries
- Top Books chart showing reading time distribution across finished books
- Charts automatically update when sessions change
- Fully keyboard-accessible and screen-reader-friendly
- Export a PNG snapshot of your reading progress
- Theme-aware visuals (light/dark mode supported)
- Displays trend summary, streak, books count, and reading totals
- Dynamic logo that adapts to current theme for clean exports
- Badge summary (βX of 12 badges unlockedβ) updates live
- Unlocked badges now highlight correctly with primary color
- Improved contrast and readability across both themes
- Accessibility support for badge unlock announcements
- Keyboard shortcut to jump directly to Session History search
- Help hint under the log form when shortcuts are enabled
- ARIA live regions for charts, Snapshot trend text, and badges summary
- Snapshot theming fixed so it always matches current appearance mode
Updated for v1.6.0 β Search & Filters
Full project documentation is available in the /docs folder:
- Getting Started β installation & usage
- Features β current and planned features
- Design Decisions β architecture choices & trade-offs
- Roadmap β milestones & timelines
- Troubleshooting β common issues & fixes
- Brand Assets β logos, color, usage guidelnes
- Progressive Web App (PWA) β install guide, offline features, roadmap
Contributions, issues, and feature requests are welcome!
- Check the issues page
- Open a pull request with improvements
Quick start for contributors:
- Fork the repo
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes (
git commit -m "feat: add my feature") - Push to branch (
git push origin feature/my-feature) - Open a Pull Request
Made by Conor Gregson
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for details










