Case study · Web app and browser extension
Flow: The Rapid Reader, a Speed-Reading Web App and Chrome Extension
A speed-reading web app and a companion Chrome extension that show text one word at a time to cut eye movement and subvocalization, built and shipped in-house.
- Client: My Business Magnet product
- Location: Jacksonville, FL
- Year: 2025
- Live site: nolanmoser.com
- Built with: React + TypeScript, Vite, Express, Passport (email + Google sign-in), MySQL + Drizzle ORM, Tailwind + shadcn/ui, Chrome Extension (Manifest V3)
The Problem
Most reading speed is lost to eye movement between words and to silently sounding words out. Rapid serial visual presentation removes both, but the tools that do it live inside their own apps, not where people actually read: web pages, articles, documentation.
What We Did
- Built the web app with three reading modes (single word, sentence focus, paragraph focus), ten highlight colors, dark mode, and a speed range of 100 to 800 words per minute.
- Added document upload for plain text, Word (.docx), EPUB, and PDF, with text extraction handled server-side, plus bookmarks so a reader can resume mid-document.
- Added accounts with email or Google sign-in, saved reading sessions, per-user default mode, speed, and color, and progress tracking so readers can see improvement over time.
- Packaged the core reader as a Manifest V3 Chrome extension: highlight text on any page, or right-click it, and the reader opens in place.
- Wrote adaptive timing that holds longer words and hyphenated words on screen longer and pauses after sentence-ending punctuation.
- Added optional blink breaks every 15 seconds with a countdown, keyboard controls (space, R, S, Escape), and settings that sync across devices without sending any text to a server.
Results
| Measure | Before | After |
| Reading speed range | n/a | 100 to 1,000 WPM |
| Document formats accepted | Pasted text | TXT, DOCX, EPUB, PDF |
| Places it works | One app | Any web page |
| Text sent to a server by the extension | n/a | None |
Outcome
The web app is live at nolanmoser.com and the extension is packaged for Chrome. The same product thinking, ship the core interaction first and put it where people already are, is how MBM approaches client apps.
Related Services
All case studies · Book a free consultation