explaingit

xiaolai/type-review

Analysis updated 2026-06-24

84TypeScriptAudience · generalComplexity · 3/5LicenseSetup · easy

TLDR

Typing-practice web app that runs entirely in the browser with no account or server, offering adaptive letter unlocks, benchmark runs, and a stats dashboard with local IndexedDB history.

Mindmap

mindmap
  root((type-review))
    Inputs
      Typing input
      Uploaded text files
      Pasted passages
    Outputs
      WPM stats
      Per-finger metrics
      Streak history
    Use Cases
      Learn touch typing adaptively
      Benchmark speed runs
      Practice on your own text
    Tech Stack
      SolidJS
      TypeScript
      Vite
      Vitest
      Biome
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Practice typing in adaptive mode where letters unlock once you are fast and accurate on the ones you have.

USE CASE 2

Run benchmark sessions on uploaded text, pasted passages, or curated public-domain quotes.

USE CASE 3

Track per-finger speed and error breakdowns, daily streaks, and milestones across sessions.

USE CASE 4

Self-host the SolidJS site on Cloudflare Pages with strict CSP and COOP/COEP headers.

What is it built with?

SolidJSTypeScriptViteVitestBiome

How does it compare?

xiaolai/type-reviewantfu/vite-dev-rpcjazzband/web3-devkit-cli
Stars8475101
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-05-01
MaintenanceMaintained
Setup difficultyeasymoderatemoderate
Complexity3/52/53/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Standard SolidJS + Vite project managed with pnpm, the only runtime dependency is solid-js.

MIT license, very permissive, use freely with attribution.

In plain English

TYPE is a typing-practice web app, live at type.review, that runs entirely in your browser with no account, no server, and no tracking. You open the page and start typing, the app keeps your history on your own device using IndexedDB, the browser's built-in storage, and a single click can export it as a JSON backup or wipe it. It offers two main modes. In adaptive mode the app starts you on a small set of letters and only unlocks more once you are fast and accurate with the ones you have, so the keys you struggle with get extra practice without you having to plan it. In benchmark mode you type real prose, ending the run either after a set number of words or after a timer. The text you type can come from a curated library of public-domain quotes and short passages, from text and Markdown files you upload yourself, or from a one-off paragraph you paste in. Both modes feed the same stats dashboard, which shows words-per-minute trends per source, a per-finger speed and error breakdown, daily-run streaks, and milestone tracking. A few optional add-ons round it out. An on-screen keyboard can be shown, color-coded by how well you know each key, with live key-press highlighting and support for Mac and Windows layouts in QWERTY, Colemak, or Dvorak. A mechanical-keyboard sound option uses Web Audio to synthesize keypress sounds on the fly, with a real-sample typewriter pack as another choice. Results pages have a copy-share-link button that encodes a read-only summary of the run into the URL. The interface ships in dark, light, sepia, and high-contrast themes. For people working on the code, the stack is SolidJS with strict TypeScript, built with Vite, tested with Vitest in jsdom, linted with Biome, and managed with pnpm. The only runtime dependency is solid-js. The architecture splits the code into a pure engine layer (typing loop, metrics, the letter-unlock planner), thin io adapters for input, IndexedDB, and Web Audio, and a SolidJS UI on top, with a test that enforces that the engine never imports io or ui. The site is deployed on Cloudflare Pages, and the repo ships strict Content Security Policy, COOP/COEP, and Permissions-Policy headers for several hosts. The project is MIT-licensed.

Copy-paste prompts

Prompt 1
Clone xiaolai/type-review, run it locally with pnpm and Vite, and add a new typing source that pulls from a local Markdown directory.
Prompt 2
Add a new theme to type-review alongside the existing dark, light, sepia, and high-contrast themes, and wire it into the settings UI.
Prompt 3
Extend the type-review engine layer with a new metric for bigram error rate while keeping the no-import-from-io rule passing.
Prompt 4
Deploy a fork of type-review to Cloudflare Pages and customize the CSP headers to allow a self-hosted font.
Prompt 5
Add Web Audio sample pack support to type-review for a Topre keyboard sound profile.

Frequently asked questions

What is type-review?

Typing-practice web app that runs entirely in the browser with no account or server, offering adaptive letter unlocks, benchmark runs, and a stats dashboard with local IndexedDB history.

What language is type-review written in?

Mainly TypeScript. The stack also includes SolidJS, TypeScript, Vite.

What license does type-review use?

MIT license, very permissive, use freely with attribution.

How hard is type-review to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is type-review for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.