02 / 06 · Case study
Fovea
A speed reader of my own: one word at a time, anchored where your eye already is. ePubs, PDFs and docx, fully offline.
- Client
- Own product
- Services
- Product design · Development · Brand
- Year
- 2026
- Stack
- React, TypeScript, PWA
- Live



01The brief
Fovea is a product of my own: a speed reader built on RSVP, where one word at a time appears in a fixed spot and a red anchor letter sits where your eye already is, so your eyes stop travelling across the page and simply read. The brief I set myself was a reader good enough to replace the Kindle app at night. Bring your own ePubs, PDFs and Word documents, keep everything on the device with no account and no server, and make the comfort controls real rather than a single dark-mode switch.
02The approach
The reading engine is pure TypeScript with its own scheduler, pausing on punctuation and slowing on long words, and it is unit-tested end to end. Parsers run in a web worker, so a 120,000-word novel opens without a stutter, and the library lives in IndexedDB, so the whole app works offline and installs from the browser in two taps. Sixteen themes are grouped by the light you read in, from paper white to zero-blue night modes, with warmth, dim and contrast sliders and twelve typefaces. The landing page opens with a live calibration: the reader runs on the headline itself, so you feel the idea before you read a word about it.
03Results
5
Input formats: ePub, PDF, docx, txt and paste
16
Reading themes, grouped by the light you read in
100%
Offline. Books and progress never leave the phone
04Design language
True black
#000000
OLED reading surface and the marketing site
Slate
#1a1c20
Default reading theme
Anchor red
#ff3b30
The one letter your eye rests on
Mist
#cfd2d6
Body text on dark themes
Paper
#f4ecd8
Daylight reading theme
Aa
Literata
SerifThe reading face
A screen serif drawn for long reading, with the open counters and even rhythm that keep a single word legible at 500 words a minute. One of twelve faces the reader can switch to.
Aa
Inter
Sans-serifInterface
Quiet and precise for controls, library metadata and the marketing site, so nothing competes with the word on screen.
Aa
IBM Plex Mono
MonospaceLabels and readouts
Tracked-out mono for section labels, the words-per-minute readout and the calibration intro, giving the product its instrument-like feel.
05Gallery
06Next project
Want something like this?
Tell me what you’re building. Replies within 24 hours, and a free 20-minute call if you’d rather talk it through.



