KeyForge — adaptive typing practice

Most typing practice gives everyone the same text. KeyForge measures the gap between each of your keystrokes, works out which letters are actually costing you time, and builds the next drill out of them. Free, no account, no advertisements.

Start practising →

Opens KeyForge in the app. Nothing to install or sign up for.

How the loop works

1

Six letters to start

Practice opens on e n i t r l rather than the whole alphabet. A new letter unlocks only once every letter already in play has reached your target speed, so the set you are working on is always one you can actually type.

2

Every keystroke is timed

Each letter carries a running latency and error rate. These are what "weak key" means here — not a guess, and not which keys you think are hard, but which ones your own hands are slowest and least reliable on.

3

The drill is generated from your weakest keys

Text is built from the unlocked set, weighted toward whatever is currently lagging. Practise a weak key enough and it stops being weak, at which point the drill quietly moves on to the next one.

4

Blocks, then a verdict

Practice runs in short blocks. Finishing one stops the text and reports what happened — speed, accuracy, and which keys moved — before the next block begins.

Why the progress readout is quieter than you expect

This is the part where KeyForge deliberately does less than the tool it is most often compared to.

The usual approach Speed: 58.7 wpm (↓ −0.0 wpm)

A block is ten to twenty seconds of typing. Over that span your speed moves by several words per minute because of which words came up and where your hands were — not because your typing changed. An arrow attached to a difference that small is reporting noise, and pointing it downward teaches you to read randomness as decline.

KeyForge 58.7 wpm
Within your normal variation across the last 5 blocks.

The block is compared against the mean of up to five recent blocks, and against how much those blocks varied among themselves. A change is reported only when it clears that variation. Most blocks will say something like this — which is what makes the ones that report a real change worth reading.

Two smaller consequences of the same principle. Nothing is compared at all until three blocks exist, and instead of "not calibrated yet" the readout says how many blocks are still needed. And a key is only reported as improved or slipped when it had enough presses in the block to tell a slip from a pattern — a letter you hit twice tells you nothing, in either direction.

Why this matters more than it sounds. A practice tool's progress readout is the thing you use to decide whether practice is working. If it reports noise confidently, you will change what you are doing in response to nothing at all. A readout that stays silent when it has nothing to say is worth more than one that always has an opinion.

What it does not do

Where the numbers come from

Every formula behind this — the confidence function, the unlock order, how practice text is generated, and the block comparison thresholds — is written up rather than asserted. If a number on this page does not match what the tool does, that is a bug worth reporting.

KeyForge documentation

The confidence formula, letter unlock order and word generation, in full.

Weak-key lessons

The case for practising your slowest letters rather than whole paragraphs.

Research & evidence

The two largest published typing studies, with exact figures and what they do not support.

Never typed properly before?

Start on the beginner path, then come back to KeyForge.

Open KeyForge →
TypeCrt Docs KeyForge docs Blog About Privacy