Syntax changes the rhythm
Code introduces paired brackets, indentation, symbols and case-sensitive identifiers. Ordinary prose speed is only part of the signal.
Targets are text, never execution
All snippets are original local content, rendered as plain text and analyzed without running any source code.
Measure what developers actually type
Results add symbol and bracket accuracy to core WPM, raw pace, accuracy and consistency. Use JavaScript, TypeScript, Python, HTML, CSS or SQL tabs to switch the target style.
Local syntax cues without a heavy runtime
A lightweight tokenizer colors keywords, strings, numbers, comments, operators, and brackets in the read-only target. Tokenization happens only when the passage or language changes; the per-keystroke comparison path remains focused on text accuracy.
Practice language-specific movement
Python makes indentation and colons frequent. JavaScript and TypeScript add braces, arrows, generic types, and template strings. HTML uses angle brackets and attributes, CSS mixes selectors with declarations, and SQL demands punctuation plus multiword clauses. Compare personal bests only within the same language and duration.