Spritz-style speed reading app with Optimal Recognition Point (ORP) highlighting.
Most of my work stays free and open-source. Support early access, live sessions, and workshop-time: https://www.patreon.com/Seriousshit
- RSVP Display: Words shown one at a time, perfectly centered
- ORP Highlighting:
- Odd-length words: center letter highlighted
- Even-length words: both middle letters highlighted
- Multi-format: PDF, DOCX, EPUB, TXT, Markdown
- PWA: Installable, works offline
- Keyboard shortcuts: Space (play/pause), arrows (navigate/speed)
# Serve locally
python3 -m http.server 8080
# Open http://localhost:8080See Building APK below.
| Key | Action |
|---|---|
| Space | Play/Pause |
| ← | Back 5 words |
| → | Forward 5 words |
| ↑ | Increase WPM |
| ↓ | Decrease WPM |
| Esc | Close reader |
This project uses Capacitor to build native Android APKs.
- Node.js 18+
- Android Studio with SDK
- Java 17+
# Install dependencies
npm install
# Add Android platform
npx cap add android
# Build and sync
npm run build
npx cap sync# Open in Android Studio
npx cap open android
# Or build from command line
cd android
./gradlew assembleDebugAPK will be at android/app/build/outputs/apk/debug/app-debug.apk
rsvp-reader/
├── index.html # App shell
├── index.css # Styling
├── app.js # Main logic
├── manifest.json # PWA manifest
├── sw.js # Service worker
├── capacitor.config.ts # Capacitor config
├── package.json # Dependencies
└── lib/
├── orp.js # ORP calculation
├── tokenizer.js # Text tokenization
├── timing.js # Playback timing
└── parsers/ # Document parsers
MIT
