A fast, minimalist typing test web app. Pick a mode, start typing, and your speed (wpm), accuracy, raw speed, and consistency are measured in real time. Results and settings are stored locally in your browser — no account required.
Modes: quote, time, words, and zen (free typing). Press Tab to restart, Enter to
finish a zen run.
Requires Node.js >= 20 and pnpm 10 (corepack enable). There's no database — the word lists and
quotes are read-only JSON bundled at build time.
pnpm install
# Run web (http://localhost:5173) + api (http://localhost:3001) together
pnpm devOr run the whole stack in containers:
docker compose up --build # then open http://localhost:8080The recommended target is Cloudflare Pages: the static frontend plus the Hono API as a Pages
Function, with automatic CI/CD on every git push. Docker Compose and prebuilt GHCR images are
available for self-hosting. See Deployment.
Full technical documentation lives in the docs/wiki:
| Document | What it covers |
|---|---|
| Architecture | System design, monorepo layout, and request/data flow |
| Typing Engine | The performance-critical input loop, state machine, stats |
| Frontend | React structure, theming, state stores, scrolling word view |
| API Reference | HTTP endpoints, request/response shapes, error behavior |
| Content corpus | The JSON word lists & quotes and how to extend them |
| Development | Local setup, workspace scripts, and testing |
| Deployment | Cloudflare Pages, Docker Compose, and GHCR images |
See LICENSE.
