Race the passage and learn from the mistakes / KitForma

Typing race — personal ghosts, accuracy & weak-pair practice

A local typing practice game with original passages and transparent scoring. Choose plain prose, punctuation or code-like text, race a comparable replay and turn mistakes into a focused follow-up drill.

No account neededRuns in your browserFree to use
Typing RelayLOCAL WORKSPACE
Choose · review · download
From question to next step

Typing Relay

Choose your inputs, or load the working example to explore the result. Your files stay on this device.

Supported scope: Printable English ASCII passages only. Direct typing and deletion; paste, drag/drop, composition, replacements and undo/redo input are excluded. This release does not claim multilingual or IME typing assessment. · Local unverified scores, not an anti-cheat competition, live room, certificate or guaranteed speed improvement. A hidden tab or early stop marks the run interrupted, excluding it from comparable ghost import. · Passages up to 2400 characters and 6000 edit events. No automatic storage or account; save replay JSON explicitly. Ghost imports up to 600 KB must match the exact passage, code, mode and duration.

Your inputs

Required fields are marked with an asterisk.

01

1–40 letters, numbers, hyphens or underscores.

Loading the local tool… Your files stay in this browser.

Your result

Review your output, then save it to your device.

02

Make the next step clear.

Your findings, assumptions and next steps will appear here after you run the check.

Typing Relay · https://typing.kitforma.com/ · KitForma

01

30/60/120-second races with original passages

02

Own and imported matching ghost timelines

03

Error-pair drills and portable practice evidence

Good questions

Before you start

How do you calculate WPM and accuracy?

Correct-character WPM counts currently matching target characters, divides by five and by elapsed minutes. Gross WPM counts all inserted characters. Accuracy is correct insertions divided by all insertions, so an error remains in that denominator after you correct it. Each metric is labeled explicitly.

Can I race a friend live?

This release uses matching replay files, not live rooms. Share the challenge link and exchange a completed ghost JSON yourself. Both runs must use the exact same passage and settings. Imported records are unverified local practice data.

Is the default ghost a real player?

No. It is clearly labeled as a generated 40 WPM pacing guide. You can replace it with your previous matching run or an imported matching record. No fabricated player identity or leaderboard is shown.

What happens when I correct a typo?

The current matching-character count is recalculated, but the original wrong insertion remains in accuracy and mistake counts. Expected keys and adjacent expected pairs involved in errors are recorded. This separates final text quality from the effort needed to correct it.

How does the missed-pair drill work?

The tool selects the most-missed expected two-character pairs and finds words from the current original passage containing them. It builds a local repeated practice passage. That drill has a different passage fingerprint, so it cannot be compared as the original daily race.

Are my keystrokes uploaded or saved automatically?

No. The game state and mistake analysis stay in the tab. Save the replay JSON and mistake CSV explicitly if you want to keep them. The editor is excluded from capture, and the product uses only the site’s generic usage events rather than raw typing telemetry.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-19. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.