keyblabKeychron K2 · 75%
YWorkspaceYou
Workspace
Appearance & sound
wpm
start typing
accuracy
%
 
median gap
ms
between keystrokes
recorded runs
0
 
Measurement

Baseline test

25 words
0 / 0 characters
esc new · tab+enter restart
Head to head

Challenge a friend

no challenge loaded

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.

mean wpm
 
mean accuracy
%
 
your baseline gap
ms
median bigram latency
time lost to top 10
s
vs your own baseline

Slowest transitions

ranked by time actually lost — how far above your baseline × how often you type it
Bigram Mean vs base SD Errors n Lost Fingers

Heatmap

By finger

mean inbound latency

Table view

FingerMeanErrorsKeystrokes

Progress

wpm per run, oldest first

Runs

WhenLayoutKindWPMAccConsistencyMedian gap

Per-key detail

the table twin of the heatmap
Key Finger Mean in SD Errors Presses

Targeted drill

built from your own worst transitions on this layout

A drill needs data first. Run a couple of baseline tests, then come back.

Drill progress

mean latency of the targeted pairs, drill by drill
BigramFirst seenLatestChangen

Layout A/B

remap, run the same drills, and see whether it actually helped

Biggest movers

shared transitions, B minus A

Transition detail

Welch's t-test per pair
BigramABΔpn

Layouts

notes on what you changed
LayoutKeyboardNoteRunsMean wpm

Typing profiles

separate history, layouts, and preferences for everyone using this browser

Personal bests

peak recorded speed for each profile on this browser

Typist Fingerprint

a six-dimensional view of the active profile

Profile comparison

side-by-side performance context

Milestones

meaningful markers in the active profile's practice history

Profile management

switch the active typist or maintain local profiles
NameTyping styleStagePeak WPMRunsLast 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.

New person

They get their own layouts and their own averages, starting from zero.

Add a friend

Paste a friend link or a recent challenge link from them.

Their shared score becomes a local snapshot. You can update it by pasting a newer link later.

New layout

Give the remap a name, then run the same drills you ran on the baseline.