A customized, browser-based e-book reader optimized for Japanese language reading, EPUBs, and popup dictionary extensions (Yomitan, etc.).
Live Reader: https://valpr.github.io/reader/
Documentation: https://valpr.github.io/reader/docs/
This repository is a personalized fork of the excellent ttu-ttu/ebook-reader.
- Keep Improving ttu-reader: While the original ttu-reader is an outstanding reading platform, upstream updates have slowed down.
- Open to the Community: Kept completely open so anyone can benefit from these enhancements, borrow features, or fork and adapt it for their own workflows.
- Better Mobile Reading Experience: Building my personal wish list and fixing other problems/glitches that I've had during my reading experience (mainly e-reader/phone).
For full guides, feature walkthroughs, and architectural details, visit the Documentation Site or see the Differences from Native ttsu guide.
- Multi-Bookmark Drawer: Unlimited bookmarks with chapter auto-naming, notes, and margin markers.
- Continuous Reading Safety: Rolling autosave checkpoints and smart resume to latest bookmark.
- Japanese Typography: Hand-drawn stroke-by-stroke calligraphy loader and vertical font kerning (
vkrn).
- Unified Library: Browse local browser and cloud storage together in a single grid.
- Search & Multi-Tag Filters: Title search, reading progress filters, and multi-tag AND filtering with autocomplete.
- Per-Book Actions: Detail inspection, single-book cloud download/upload, and source filtering.
- Always-On Telemetry: Granular hourly tracking for characters read, reading time, and Yomitan/JPDB dictionary lookups.
- Year-in-Review Recap: Spotify-Wrapped-style lookback story player, reading speed metrics, and reader personas.
- Silent Multi-Cloud Replication: Automatic background synchronization via Google Drive and Microsoft OneDrive.
- Progress-Safe Downloads: Cloud book downloads merge cleanly without overwriting local progress.
- Deletion-Safe Sync: Removed tags and deleted bookmarks stay deleted on every device, even one that was offline for weeks. No-op syncs upload nothing. Devices on older builds keep working but can't produce deletions others will see.
- Hardware-Calibrated Profiles: Dedicated defaults for Desktop, Mobile, Tablet, and E-Reader/E-Ink (with medium font weight contrast boost).
- Tabbed Settings: Live reading preview and deep-linkable URLs for direct settings navigation.
- Responsive Ergonomics: Zero horizontal overflow at 360–412px, ≥44px touch targets, and collapsible overflow toolbars.
The reader is automatically built and deployed to GitHub Pages on every push to main:
URL: https://valpr.github.io/reader/
- Node.js: v20 or higher (v24 recommended)
- pnpm: v9 or higher
-
Clone the repository:
git clone [https://github.com/valpr/reader.git](https://github.com/valpr/reader.git) cd reader -
Install dependencies:
pnpm install
-
Start the local development server:
pnpm dev
Open http://localhost:5173 in your browser.
-
Build for production:
pnpm build
The static production output will be generated in
apps/web/build/.
- Original project and architecture by ttu-ttu.
- Distributed under the BSD-3-Clause License.