No description
| assets | ||
| docs/assets | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| deps.nix | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
terminal-wpm
I got a new keyboard, my first ergonomic keyboard, so to practice typing, i used monkeytype. That site is very nice, with beautiful statistics, a lot of customization options, leaderboard, Personal Bests and a lot more.
But I am a programmer. So I want to create my own version. That version should be on the terminal because I work on the terminal the most.
This is how this project was born.
Try it out
if you use nix, you can simply run this to try it out:
nix run git+https://git.nkoll.de/nk/terminal-wpm
if you don't use nix, you have to clone this repository, have Zig 0.15 installed and run this:
zig build run
Roadmap
- Add command line options
- Wordcount
- Language/Wordlist
- Handle multibyte input correctly
- Accuracy checks
- Accuracy per Character
- Accuracy per Word
- Add more languages/wordlists
- english
- german
- english 1k
- english 5k
- english 10k
- english 25k
- Statistics example and explanation in README
- qoutes
- english
- german
- Improve rendering speed
- Use terminal feature synchronized output
- split read and write into multiple threads, dont spin on read loop
- Input validation (Unwanted Control Characters etc.)
- Auto Scroll on long text
- TUI
- Startup Screen
- Stats Screen with restart button
- Scoreboard
- Settings
Credits/Contributions
Language Files are sourced from monkeytype and reformatted into simple text files (see here).
Thanks to Neurocyte for providing this beautiful Screenshot.

