A challenge is a shared seed, not a server. Both of you type the exact same passage from a link, and the comparison happens in your browsers — nothing is uploaded, and the link carries its payload in the fragment, so it never reaches a web server at all.
| Bigram | Mean | vs base | SD | Errors | n | Lost | Fingers |
|---|
| Finger | Mean | Errors | Keystrokes |
|---|
| When | Layout | Kind | WPM | Acc | Consistency | Median gap |
|---|
| Key | Finger | Mean in | SD | Errors | Presses |
|---|
A drill needs data first. Run a couple of baseline tests, then come back.
| Bigram | First seen | Latest | Change | n |
|---|
| Bigram | A | B | Δ | p | n |
|---|
| Layout | Keyboard | Note | Runs | Mean wpm |
|---|
| Name | Typing style | Stage | Peak WPM | Runs | Last Run |
|---|
Each profile gets its own layouts, runs, drills, A/B tests and theme. Stats remain entirely separate per browser, safely saved offline in local storage.