A typing trainer that thinks in beats, not just words per minute.
Speed on a keyboard is a rhythm problem. The fastest typists are not hammering keys, they are keeping an even tempo and letting the words fall on the beat. Cadence is built around that idea. It gives you a waveform, a metronome and a ghost of your past self, then gets out of the way so you can type.
Keystroke waveform
Every key you press paints a bar on a scrolling waveform. The spacing between bars is the real time gap between your strokes, so you can literally see your rhythm.
Tempo lock
A metronome reads the median interval between your keys and pulses at that pace. Turn on the tick and try to hold the beat.
Ghost race
Your best run for the current mode becomes a ghost that races beside you in real time. Stay ahead of the mark to beat it.
Live speed graph
Words per minute, raw speed, and error spikes are plotted while you type and again in full on the results card.
Per key heatmap and drills
Every run grades the keys you touched and tints a keyboard by accuracy. Your stats page keeps a lifetime version, and a weak-key drill builds runs out of real words that lean on the letters you miss.
Watch your run back
Every run records the exact timing of every character. Replay any of them, scrub through, and see where the tempo broke.
Five instrument themes
Midnight, Paper, Terminal, Synthwave and Nord. Each one remaps the entire surface, including the scrollbar, caret, selection, dropdowns and counters.
Local and private
No account, no server. Settings live in local storage and your run history and progress live in IndexedDB on your device.
Next.js App Router, React, TypeScript, Tailwind CSS and Motion. Sound is synthesised in the browser with the Web Audio API, so there are no audio files to download. The whole thing is a static client app and deploys to Vercel with zero configuration.
Start a run