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
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.
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.
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.
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.
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.
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
- It does not claim to teach touch typing on its own. Finger placement is a physical habit; KeyForge measures and targets, it cannot see your hands
- It does not promise a speed by a date. The published research does not support that kind of claim from anyone
- It does not gate anything behind an account or a payment. There is no paid tier
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.