β—† Focal

Read at the speed
of thought.

Focal is a speed reader built on RSVP (Rapid Serial Visual Presentation). It streams one word at a time and pins your eye to the optimal recognition point, so you stop subvocalizing and start flying. Books, PDFs, pasted articles, even your dev sessions.

Star on GitHub
  • Open source
  • Local first
  • No signup
Live demo 500 WPM

This is the real engine. Drop in a book and it looks exactly like this.

Your library

Paste text directly

One word at a time. Twice the pace.

RSVP streams text through a single fixed point so your eyes stop hunting across lines. Here is who it is for.

Clear your reading backlog

Drop in that pile of saved books and finally finish them at 400 to 700 words per minute.

Speed-read research and PDFs

Import a paper, skim the dense sections fast, then slow down where it counts.

Power through long articles

Paste any longform piece and burn through it before the tab pile grows again.

Review your dev digests

Turn a coding session or git diff into a color-tagged brief you can read in a minute.

Read the classics

Thousands of free, public-domain titles in the Free Library, one tap to start.

Focus mode for ADHD and dyslexia

Bionic bolding and a calm, distraction-free frame keep your attention locked in.

Everything is a keystroke away.

A reader that respects your hands, your eyes, and your time.

Command palette

Hit Cmd K to jump to any book, tab, or action without leaving the keyboard.

Stats and streaks

Real words-per-minute and daily streaks that quietly keep you honest.

Highlights

Mark a passage mid-stream, find it later.

Presets

Save speed and style combos for each kind of read.

Offline PWA

Install it. Read on a plane. No connection needed.

Minimap

See the whole document at a glance and scrub to any point in a single drag.

Light and dark

A calm dark default, a clean light mode, and an accent color you choose.

Read your code review like a headline.

Turn a coding session or a git diff into a speed-readable, color-tagged brief. Works inline with Claude Code: run /digest to summarize a session or /diff to capture working-tree changes, then read the result here at full pace.

Yours to read, fork, and host.

MIT licensed and local-first. No account, no tracking, no upsell, and no backend to run. Your library lives on your device, and the whole app is one HTML file you can audit in an afternoon.

MIT Local-first No signup No backend PWA
Space play/pause  Β·  ← β†’ skip  Β·  ↑ ↓ speed  Β·  B bookmark  Β·  H highlight
[ ] font size  Β·  Home/End jump  Β·  ? shortcuts  Β·  Esc library
Tap to play  Β·  swipe to skip
0 / 0
300