A distraction-free RSVP (Rapid Serial Visual Presentation) reader for EPUB books.
Traditional reading is inefficient. Your eyes spend roughly 80% of reading time on saccades—the mechanical movement between words—rather than on comprehension. Subvocalization (mentally "speaking" each word) further throttles speed to ~250 WPM, well below the brain's processing capacity.
RSVP eliminates both bottlenecks by presenting words sequentially in a fixed position. With no eye movement required, the visual system can focus entirely on recognition. The technique leverages the Optimal Recognition Point (ORP)—a position slightly left of center where the eye naturally fixates. By aligning this point consistently, word recognition becomes near-instantaneous.
Research demonstrates that trained RSVP readers achieve 400-700 WPM with equivalent comprehension to traditional reading. The initial discomfort fades within hours of practice as the brain adapts to the new input pattern.
- ORP-aligned display — Each word's focal point stays fixed on screen
- Smart Pace — Longer words and proper nouns automatically display longer
- Paragraph context — When paused, see 30 words of surrounding context
- Progress tracking — Page numbers, percentage complete, chapter navigation
- Bookmarks — 5 manual bookmarks plus continuous autosave
- Full customization — WPM (50-1000), colors, fonts, font size
- Keyboard-first — Space to play/pause, arrows to skip, Esc to close menus
- Offline-capable — Works entirely in-browser with local EPUB files
npm install
npm run devDrop any EPUB into the settings panel to start reading.
| Key | Action |
|---|---|
Space |
Play / Pause |
← |
Back 10 words |
→ |
Forward 10 words |
Esc |
Close menus |
Click the paragraph view to resume playback. Use the navigation arrows to jump 50 words at a time.
React 18 + Vite, JSZip for client-side EPUB parsing, Firebase (auth, Firestore, Storage) for accounts and cross-device reading progress. Book catalog search across Project Gutenberg (Gutendex), Standard Ebooks, and Google Books. Works fully offline-first without an account — the default library ships a public-domain classic.
Copyright © 2026 Tom Wesley. All rights reserved.
The source is available to read and learn from, but not licensed for reuse or redistribution.