| Crates.io | rsvp-term |
| lib.rs | rsvp-term |
| version | 0.6.0 |
| created_at | 2026-01-05 07:49:05.840957+00 |
| updated_at | 2026-01-05 14:36:00.533363+00 |
| description | TUI for RSVP reading of markdown prose |
| homepage | https://github.com/Mootikins/rsvp-term |
| repository | https://github.com/Mootikins/rsvp-term |
| max_upload_size | |
| id | 2023354 |
| size | 957,856 |
A terminal UI for RSVP (Rapid Serial Visual Presentation) speed reading of Markdown and EPUB files.

RSVP = Read Si Vous Plait (French for "read, if you please") — and also known as Rapid Serial Visual Presentation.
RSVP displays text one word at a time at a fixed position, eliminating eye movement and enabling faster reading. This implementation uses ORP (Optimal Recognition Point) highlighting - the letter your eye naturally focuses on is highlighted in red and centered.
cargo install --path .
Or build from source:
cargo build --release
./target/release/rsvp-term document.md
# Read a Markdown file
rsvp-term document.md
# Read an EPUB book
rsvp-term book.epub
# Export EPUB chapters to Markdown files
rsvp-term book.epub --export-md
| Key | Action |
|---|---|
Space |
Pause/Resume |
j / ↓ |
Slower (-25 WPM) |
k / ↑ |
Faster (+25 WPM) |
h / ← |
Rewind ~10 words |
l / → |
Skip ~10 words |
o |
Toggle outline view |
Enter |
Jump to section (in outline) |
q |
Quit |
? |
Toggle help |
Ctrl+C |
Force quit |
Parsing - Markdown/EPUB is parsed into tokens with style (bold, italic, code, link) and block context (paragraph, list, quote, heading)
Timing - Each word gets a base duration (60000ms / WPM) plus modifiers:
ORP Calculation - The optimal recognition point is ~1/3 into the word:
Display - Word is centered on ORP position, with context lines fading by distance
MIT