← Projects · 2026-07-15

typo

A typing test built from your own code and lore. Real snippets pulled from real repos across this whole family of projects, not generic pangrams — accurate WPM, accuracy, and keys/sec.

Live sitetypo.games.goonk.se → Repoexplewd/typo →

Highlights

  • No backend, no build step — plain HTML/CSS/JS, snippets baked into a JSON file
  • Themed identically to flit/wisp — same CSS vars, same dark/mono/green aesthetic, reads as part of the same family of tools
  • 16 real snippets across six repos, plus in-world lore text (Delve's Chronicle of the Keepers, djupet's Swedish-language event log) for variety beyond code
  • WPM = (correct characters / 5) / minutes elapsed; accuracy tracked at the keydown level, comparing each pressed key against the exact expected character before it's inserted — backspaced-over mistakes still count
  • Verified via simulated typing sessions, not just static review — caught a focus-stealing tabindex bug and a CSS bug where the help modal was invisibly covering the whole page and eating every click

A typing test built from real code — pulled from flit, wisp, keep, stash, delve-term, and goonk itself — plus in-world lore and flavor text from the games (Delve’s Chronicle of the Keepers, djupet’s Swedish-language event log) for variety beyond just code.

No backend, no framework, no build step: plain HTML/CSS/JS, themed to match flit and wisp exactly, so it reads as part of the same small family of self-hosted tools rather than a one-off. Snippets live in a single JSON file — adding more is just appending an entry.

The stats are the actual point: WPM computed the standard way (correct characters / 5, divided by elapsed minutes), and accuracy tracked per-keystroke rather than diffed after the fact, so a mistake you catch and backspace over still counts against you — same as it would on a real typing test.