Urgent.News

What's breaking now, across thousands of outlets.

Tech

Every typing site makes you type prose. I built one that makes you type code.

I have been typing for twenty years and I still slow down on =>. Not on words. Words are fine. It is {}, [], &&, ::, ?., !== — the keys my fingers only ever meet inside code, and never inside the paragraphs every typing trainer feeds you. So I built the one I wanted: Typre. It only serves real code. Free, no account needed, open source. What it actually is 2,170 hand-picked snippets across 14…

For over two decades, I have been typing but often found myself stalling on symbols like =, {}, [], &&, ::, ?, ., !== — the keys that only ever meet inside code, never in the paragraphs presented by conventional typing trainers. This prompted me to create Typre, a typing site exclusively for real code. It is free, requires no account, and is open source.

The site comprises 2,170 hand-picked snippets across 14 programming languages, presented in 15, 30, and 60-second runs. Each snippet is an actual piece of code you would write, from Go error checks to Rust matches, with no filler or generated content.

I ensured several key features in Typre. First, no snippet is repeated; the code comes from a shuffle bag, so you experience the entire collection before any snippet appears twice, even after a page reload. Second, each run length—15 seconds, 30 seconds, and 60 seconds—has its separate pool of snippets. For instance, a 15-second run presents you with a single short code idiom, preventing you from getting stuck on the initial lines of a longer snippet.

Third, each programming language has its own set of short, medium, and long snippet pools. Lastly, I developed a "drill" mode that focuses solely on punctuation, offering a unique training experience.

Additional features of Typre include 61 VS Code and Vim shortcuts, where pressing a chord triggers the app to verify the modifiers, handling Vim sequences like dd, gg, and :wq as sequences rather than single chords. The site also tracks WPM, raw WPM, accuracy, consistency, mistyped characters, XP and levels, daily streaks, per-language leaderboards, real-time races against another user, and challenge links to beat someone else's score.

Typre is designed to function offline, with all 2,170 snippets bundled into the JavaScript file, totaling around 269 KB gzipped. It utilizes TextMate grammars and Shiki, the engine used by VS Code, to provide real-time syntax highlighting, significantly reducing the first load time to approximately 69 KB. The app only loads the necessary languages when you open them, ensuring smooth performance.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

How I Audit JavaScript Regexes for Catastrophic Backtracking

I maintain CodeSwap , a developer-tools site with browser-based utilities and technical guides. While reviewing its regular-expression tools, I wanted a repeatable answer to a deceptively simple…

  • Systematic audit process identifies ambiguous repetition and measures performance growth.
  • Node.js 22 test reveals exponential growth in matching time with increasing input length.

Stuck on Casbin's model.conf? 5 mistakes beginners hit most

Stuck on Casbin's model.conf? The 5 mistakes beginners hit most (with a runnable fix) Casbin is one of the few permission frameworks that works across languages (Go / Java / Python / Node…), and its…

  • Matcher field names must align with request or policy columns
  • g() function checks subject equality, not just role inheritance
  • Policy effect and matchers may not yield expected results together

Building Cross-Platform Desktop Apps with Qt and QML in 2026

Building one desktop application that runs natively on Windows, macOS, and Linux from a single codebase is exactly what Qt was designed for.

  • Qt framework builds cross-platform desktop apps from single codebase
  • Qt offers native performance, smaller footprint vs web wrappers
  • Qt Widgets vs Qt Quick/QML for traditional vs modern UIs

More from Sunday 30 August →