Six steps, a table of settings by skill level, and the mistakes worth avoiding. No account needed — the app is a single page that runs entirely in your browser.
The word stays put so your eyes don't. The icon carries meaning in parallel, and the amber letter is the fixation point.
Do these in order. The whole thing takes about five minutes.
Go to trainer.html. It loads with a sample passage already in place, so you can press play immediately and see what the format feels like before committing your own text.
Start at 250 wpm and read a full paragraph. If you reach the end and can summarise it, raise the speed. If you can't, drop it. Your baseline is the fastest speed at which you can still summarise — not the fastest you can watch words go by.
Start with icon above word. Once that feels natural, try icon behind word — the watermark sits at the fixation point, so your eye never has to travel to see it. Icon replaces word is the interesting one: content words become pure icons and only function words stay as text.
Open the Documents tab and drop in a PDF, DOCX, TXT, Markdown or HTML file — or paste text. Extraction happens in your browser; nothing is uploaded. Check the resolution report to see how many words resolved from the curated set versus generated tiers.
Switch the voice engine to system for an instant test. If you like it, switch to neural — the voice ships with the site, so the only thing fetched is the ~5 MB WASM runtime, once. After that it runs offline. Keep sync on reader-led so the speech stretches to fit your WPM rather than capping it.
Raise the speed by 50 wpm and read another passage. Let the comprehension check run at the end. If recall stays above about 70%, the new speed is real — keep it. If it drops, come back down. Export the session to keep the record.
Starting points, not rules. Adjust once you know how the format feels.
| Level | Speed | Words / frame | Pairing mode | Motion |
|---|---|---|---|---|
| Beginner | 200–280 wpm | 1 | Icon above word | 1.2× — full gesture |
| Intermediate | 300–450 wpm | 1–2 | Icon behind word | 1.0× |
| Advanced | 450–700 wpm | 2–3 | Icon replaces word | 0.7× — subtle |
| Skimming | 700–1000 wpm | 3–4 | Icon only | 0.5× |
On voice: speech caps out around 640 wpm because playback rate clamps at 4×. Above that, run silent — the icons carry the meaning channel on their own.
Most of the gain comes from technique, not from turning the number up.
Ten focused minutes will do more than an hour of drifting. RSVP is demanding precisely because you can't rest between fixations.
A speed you can't recall from isn't a speed you've reached. Let the check run; treat 70% recall as the floor before you go faster.
Let it sit in peripheral vision. If you find your eyes flicking up to look at it, switch to watermark mode — it puts the icon at the fixation point.
Push 50 wpm above comfort for one passage, then drop back 25. The old speed will feel slow. That's the adaptation you're after.
On dense or technical text, the audio channel carries prosody the display can't. Turn it on for the difficult paragraphs and off for the easy ones.
Narrative tolerates high speed and multi-word frames. Instructions and contracts don't — drop to one word per frame and let punctuation pauses do their job.
The ones that come up most.
RSVP reliably removes saccade and regression time, which is a real cost. What it can't do is speed up comprehension itself — beyond a point you're trading recall for words per minute. The honest position is that most people can move from roughly 250 to 400–500 wpm on familiar material without losing much, and that gains past that come mostly from skimming rather than reading. The comprehension check exists so you can see where your own line is instead of guessing.
Dual coding: verbal and visual information are processed through partly separate channels, so a picture alongside a word can reinforce meaning without competing for the same capacity. The catch is that a wrong or generic icon adds noise instead. That's why the resolver disambiguates by sense and tells you which tier produced each icon — so you can discount the weak ones.
Nothing falls through to a blank. Unknown words are split into known parts where possible (riverbank → river + bank), derived from morphology (hopeless → hope + negation), looked up in 200,000+ open-source icons, or finally drawn as a deterministic procedural mark. That last tier guarantees complete coverage of any string you can type — hundreds of thousands of words reach a picture, which matters because the words that strand a dyslexic or fatigued reader tend to be the rare ones a smaller dictionary would have missed.
No. PDF and Word extraction runs in your browser via pdf.js and mammoth.js. The only network requests the app makes are for open-source icons it hasn't seen before, and the one-time neural voice model download — and both can be switched off entirely, after which everything works offline.
KittenTTS nano is a 15-million-parameter open-weight model, which is very small — it won't match a large hosted TTS service. It is the one that fits the job: bigger open models sound better but take longer to synthesise a sentence than to say it, so the voice falls behind the reader. This one runs about three times faster than it speaks. It runs on WASM everywhere. Nothing comes from a model host or a CDN: the 24 MB of weights, the 11 MB ONNX runtime and the 1 MB engine are all served from this site, cached on the first load, and offline from then on.
That's the optimal recognition point — the character your eye should land on. It sits slightly left of centre and shifts with word length, and the word is offset so that letter stays on the centre rail. It's why you don't need to move your eyes between frames. You can switch it off under focus point.
Yes. The icons and lexicon are two plain objects near the top of the script block in trainer.html. Icons are 24×24 SVG bodies using currentColor; lexicon entries are word: [[iconId, gloss, cues]]. Inflections resolve automatically, so you only enter base forms. Motion is inferred from the gloss unless you specify it.
The layout adapts and the reader works, but RSVP on a small screen at high speed is genuinely harder. If you're training seriously, use the largest screen you have and sit at a normal distance.