Skip to content

Repository files navigation

WordFlash

WordFlash shows you one word at a time (RSVP). Each word highlights a single focal character so your eyes stay in one place instead of scanning left to right.

Paste text or give it a URL. For URLs it pulls the article body with Mozilla Readability and reads it back in the same word-by-word view.

Built with Next.js, React, and Tailwind CSS.

What you get

  • Focal-character highlighting with configurable color, font, and WPM
  • Sentence and comma pauses, plus extra dwell on line breaks and the first occurrence of unfamiliar names
  • Article reader with the full text beside the RSVP panel; click a word to jump
  • A bookmarklet ("Read in WordFlash") for opening the current page in the reader
  • Light, dark, and system themes; reduce motion and reduce transparency toggles
  • Reading position saved in the browser when you come back

Repo layout

wordflash/
├── apps/web/       Next.js app
├── functions/      Firebase Cloud Function for /api/extract
├── packages/core/  Word timing, parsing, focal index
└── package.json    Bun workspaces

Development

You need Bun (or Node 18+).

bun install
bun run dev

Dev server: http://localhost:3000

Command What it does
bun run dev Web dev server
bun run build Build core + web
bun run lint Lint all packages
bun run test Run all tests

Watch tests in one package:

cd packages/core && bun run test:watch
cd apps/web && bun run test:watch

Production build:

bun run build
bun run --filter wordflash start

Deploy

Vercel: Create a project from this repo and set Root Directory to apps/web. See the Next.js deploy docs if you need the details.

Firebase: firebase.json hosts the web app and routes /api/extract to the extract Cloud Function in functions/. Deploy with firebase deploy after bun install in functions/.

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages