02
A ranked arena in a shell

TermTypo

Terminal-first multiplayer typing test — ranked 1v1 races, an ELO ladder, and a global leaderboard.

Python terminalmultiplayerelocli
click to turn
Live race

Opponent progress updates every 200 ms in the real client. Replayed here.

Shipped
PyPIpip install termtypo
7separate mode ratings
200msopponent tick
45sdisconnect auto-win

Also distributed as standalone binaries, so it runs with no Python present.

Live typing with keyboard visualisation
running Live typing with keyboard visualisation

The hard part

Cross-platform matchmaking. A terminal client and a browser client have nothing in common except the race, so the race itself had to become the protocol — progress, timing and completion all defined independently of either front end.

The ladder keeps seven separate ratings, one per mode, because a 10-word sprint and a 60-second run measure genuinely different skills.

Matchmaking
terminalpip install termtypo browserweb client queueone queueboth clients racethe shared protocolprogress · timing200 ms opponent tick ELO7 mode ratingswords_10 → time_60 leaderboardper mode PRIVATE ROOMS 6-char code no ELO change 45 s disconnect → auto-win

One queue, two clients, one ladder.

Results — WPM, raw WPM, accuracy
running Results — WPM, raw WPM, accuracy
Outcome

TermTypo

Chapter 03
DiscVault

Unlimited large-file storage built on top of Discord’s own per-message attachment cap.

continue
02 — TermTypo
scroll · drag · ← →