TTYper
An adaptive typing trainer and multiplayer race server you play in your terminal: ssh ttyper.com, no account, nothing to install.
The problem
Typing trainers live in browser tabs full of ads, sign-up walls and trackers. Developers already have the best typing environment there is open all day: a terminal. TTYper meets them there.
What I did
I built TTYper as a Go service that speaks SSH. You type ssh ttyper.com, check
the host key fingerprint once, and you’re in a lesson. No account, no password,
nothing to install.
- Lessons that adapt. TTYper tracks speed and accuracy per key and builds the next lesson around the keys that slow you down.
- Races. Join a ranked race or open a private room with a code, and watch everyone’s progress live.
- Progress you can read. Per-key strength, personal bests and a calendar, with a plain table behind every chart.
- Private by default. Guest sessions are anonymous and kept for 30 days, typed text is never logged, and new accounts stay hidden until you choose otherwise. You can claim your progress later with an email address.
- Offline too.
ttyper-localruns the same practice on your own machine, unranked, when there’s no connection.
How it runs
Go services and PostgreSQL run under Docker Compose. HAProxy owns the long-lived SSH listener, Caddy serves the website over HTTPS, secrets come from Infisical, and PostgreSQL ships encrypted off-site backups. It’s a deliberately small, single-host setup, sized for a public beta.
Impact
- Live since November 2026, in public beta.
- One command from any terminal on any OS to a working lesson.