Skip to content

vyrx-dev/toofan

Repository files navigation

toofan

A minimal, lightning-fast typing TUI
Practice with english words or real code snippets. No browser, no account, everything stays local.


toofan demo

Features

  • Two Modes: Practice standard English words or real-world code snippets.
  • Curated Lessons: Hand-written, topic-based code exercises across multiple languages.
  • Dynamic Themes: Cycle between multiple aesthetic terminal themes (ctrl+t).
  • Live Metrics: Real-time WPM speed and accuracy tracking.
  • Error Review: See exactly which words you mistyped after every test.
  • Ranks: Automated progression system based on your typing speed.
  • Offline & Local: No browser, no account, zero telemetry.

Real Code Snippets Curated Topics & Lessons Multiple Languages Supported Dynamic Built-in Themes

Profile Dashboard

A personal overview of your typing speed history, personal bests across durations, and a daily activity map to keep you consistent. Press ctrl+p to open.

Installation

curl (macOS & Linux)

curl -fsSL https://raw.githubusercontent.com/vyrx-dev/toofan/master/install.sh | sh

AUR

paru -S toofan-bin

Go

go install github.com/vyrx-dev/toofan@latest

Homebrew / Nix / Ubuntu / Fedora

Coming soon.

Build from Source

If you prefer building manually (requires Go):

git clone https://github.com/vyrx-dev/toofan.git
cd toofan
go build -o toofan .
mv toofan ~/.local/bin/

FAQ

How are stats calculated?
raw      = total_chars / 5 / elapsed_minutes
wpm      = (total_chars - uncorrected_errors) / 5 / elapsed_minutes
accuracy = (total_chars - all_mistakes) / total_chars × 100
  • wpm - your net speed. Every 5 characters count as one "word". Uncorrected mistakes are subtracted.
  • accuracy - counts every wrong keystroke, even if you corrected it with backspace.
  • raw - your gross speed before any penalty.
  • errors - press e on the results page to see exactly which words you mistyped.
Where are my files stored?

Everything lives in ~/.toofan/ as plain text files:

  • config.txt : Your selected duration, mode, language, and theme
  • results.txt : Every test result (date, wpm, accuracy, duration, mode)
  • pb.txt : Your personal bests per mode and duration
Can I backup my data?

Yes. Press ctrl+s to save a backup and ctrl+r to restore from one. Backups are saved to ~/Toofan/ and can be moved between machines.

How do I uninstall Toofan?

If you installed via the curl Quick Install, simply delete the binary and the configuration folder:

rm ~/.local/bin/toofan
rm -rf ~/.toofan

(If you built it from source and moved it globally, run sudo rm /usr/local/bin/toofan instead).

Does it work offline?

Yes. Everything runs locally and is embedded in the binary. No internet needed.

Roadmap

  • Curl script installation (macOS & Linux)
  • Proper documentation for AI and contributors
  • More language support (python, rust, c, typescript, etc.)
  • Difficulty levels for english words
  • AUR, Homebrew, Nix packages
  • Fix top pane alignment to match bottom panes in profile

Contributing

  • New snippets : Drop a file in internal/lang/data/<language>/lessons/ and rebuild
  • New languages : Just a folder with lesson files
  • New themes : One Go file with a color palette
  • Bug fixes and UX improvements

If you're using an AI coding assistant, read AGENTS.md first.

Dependencies


Enjoying toofan? Consider dropping a ⭐ or sharing it online. A mention is always appreciated :)

About

A minimal, lightning-fast typing TUI for your terminal

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors