For developers

Typing practice for the characters you actually code with

Most typing practice is English prose, and prose almost never asks for a brace. Keyshand drills brackets, operators and real identifiers, measures every one of those keys on its own, and tells you which are costing you time.

Free. No signup, no card, no ads.

const user = await getUser(id);
if (user?.isActive && !user.banned) {
  return { ...user.profile, roles: [] };
}
Four lines, twenty-four symbols — most of them keys a prose trainer almost never asks you for.

Brackets

( ) { } [ ] — the three pairs you type most, all on pinky reaches, most behind Shift. Drilled first, alone and in pairs.

Operators

= < > + - * ! & | — and the arrows, comparisons and logic they combine into: =>, !==, &&, ||.

Separators

; . , _ / \ ' " ` — the characters that end every line and join every name, at speed and without looking.

Identifiers

Real names from real code in camelCase and snake_case, so the symbols are practised where they actually appear.

Measured key by key, not by one number

A words-per-minute score averages your fast keys with your slow ones, which hides exactly the thing worth fixing. Keyshand records the speed and accuracy of every key separately. When a test ends, it names the keys you were slowest on and offers a drill built from words that contain them, and the code course takes the symbols one group at a time until each is fast on its own.

The adaptive engine works the same way on letters: it starts you on a handful of keys and adds the next one only when the ones in play are fast and accurate. Everything runs in your browser, and signed out, nothing you type is sent anywhere.

Common questions

Why do programmers need different typing practice?
Ordinary typing practice is prose, and prose barely uses the keys code depends on. Brackets, braces, semicolons, equals signs and underscores sit on the edges of the keyboard under the weakest fingers, often behind Shift, and a developer types them constantly. A trainer that never presents them never finds out they are slow.
What does the Keyshand code course cover?
Four units: brackets (round, curly and square), operators (equals, angle brackets, plus, minus, star, and the logical operators), separators (semicolons, dots, commas, underscores, slashes and quotes), and finally identifiers — real names from real code, mixed case and all.
Is there a coding typing test?
Yes. The timed typing test runs on the code corpus when code is selected as the language, at 15, 30, 60 or 120 seconds, and reports the same net WPM, accuracy and per-key results as the English test.
Does typing speed actually matter for programming?
Less than thinking does, and nobody sensible claims otherwise. What matters is not having to think about the keyboard at all: if a brace takes a glance down, that glance interrupts the thought you were typing out. The goal is symbols you can type without looking, not a headline number.

Keep in touch

Hear about new features

A layout, a language, a way of practising — occasional word when something is added. Nothing else, ever.