Two years ago, a Reddit moderator named Gary_Internet posted in r/typing and described the one feature that would make a TypeRacer competitor worth switching to:
"The other thing that would really set you apart from Typeracer is to give people the ability to practice all the words that they made mistakes on at the click of a button... 5 repetitions of each word. You'd be in a league of your own."
That comment got 14 upvotes. The original post got 18. And nothing ever shipped.
So I built it.
What I built
Clackpit is a browser-based typing race with three things TypeRacer doesn't do well:
1. Forced correction that actually works
TypeRacer forces you to backspace and fix mistakes before moving on — that's the right call, it trains real accuracy. But plenty of typing sites (looking at you, NitroType default settings) let you barrel through mistakes and just count them at the end. Clackpit uses the TypeRacer model: wrong letter typed, cursor stops, you fix it or you don't advance. No skip, no workaround.
2. The drill loop Gary_Internet asked for
After every race, a "Drill these words →" button appears on the finish screen. It shows every word you made a mistake on during the race. Click it and you get a fresh passage with those exact words interleaved five times each — so if you fumbled "through", "because", and "enough", you get:
through because enough through because enough through because enough...
Forced correction applies in the drill too. You work through your actual weak spots, not random text.
3. Three modes for different use cases
- Sprint: a fixed passage, same as TypeRacer — finish line competition
- Marathon: long texts (250–600+ words) for typists who want sustained practice, not short bursts
- Endurance: timed mode (30s / 60s / 120s) with automatic passage rolls — WPM and accuracy scored at the end
One interesting technical decision
The hardest part of the forced-correction mechanic isn't implementing it — it's making it feel fair. If you type a wrong letter, you need to be blocked. But what about composing characters, dead keys, IME input, and the dozen ways a browser can fire keyboard events before a character is "committed"?
The short answer: keydown + keypress together with a per-character state machine, tracking whether the current character is "incorrect and unresolved" vs "correct" vs "awaiting backspace." Getting that state right for every edge case (paste attempts, autocorrect, mobile soft keyboards) took longer than the rest of the game combined.
What's missing / what I'd love feedback on
The daily leaderboard is anonymous (you pick a handle, it persists in localStorage) — no accounts, no email, no password. That keeps friction at zero but it also means there's no real identity behind a score. I'm curious whether typists care about that, or whether the anonymous daily rank is enough of a hook.
The other thing I haven't done yet: multiplayer. Real-time races against other humans are obviously more exciting than a solo timed run. But multiplayer without users is a ghost town, and a solo typing game with a good drill loop is actually useful on its own. Starting single-player felt right.
Try it at clackpit.launchyard.app — I'd genuinely love feedback from people who actually care about typing. What would make you come back tomorrow?
Top comments (0)