1 unstable release
Uses new Rust 2024
| 0.1.0 | Nov 26, 2025 |
|---|
#992 in Command line utilities
14KB
212 lines
đĻ Rusty Type â A Terminal Typing Speed Game
A fast, minimal, and fully terminal-based typing test built with Rust and Termion. Measure your WPM, accuracy, and typing speed right in your console.
đ Features
- ⥠Real-time typing feedback â green for correct, red for mistakes
- âąī¸ Live timer running concurrently with input
- đ¯ WPM, accuracy, and score tracking (optional scoreboard)
- đŦ Random sentence generator for each test
- đ§ Built from scratch using Termion (no TUI frameworks) to understand terminal control, raw input, and concurrency in Rust
- đ§° Lightweight â zero dependencies beyond
termionandrandom_word
đ ī¸ Built With
- Rust đĻ â safe and fast systems language
- Termion â pure Rust terminal manipulation library
- Random Word â for generating random words
đ§Š How It Works
Rusty Type runs entirely in the terminal:
- The app enters raw mode, reading keystrokes directly.
- A separate timer thread tracks elapsed time while the main thread handles user input and rendering.
- The terminal output is dynamically updated with colors and cursor positioning.
- Once you finish typing or time runs out, stats are shown instantly.
đšī¸ Usage
Clone and Run
git clone https://github.com/DelwinPrakash/rusty-type.git
cd rusty-type
cargo run
đ¸ Preview
Welcome to RUSTY-TYPE
Rusty type help you improve your typing speeddddd!
Select your test mode:
1: 10 words
2: 20 words
3: 50 words
4: Custom number of words
5: About
6: Exit
Press Esc to exit. Start typing
TIME: 16.7s | WPM: 42.5 | Correct: 59 | Incorrect: 4
color cohog nutsy gowks smaze earth zibet devon cafes snaky
YOUR RUSTY-RESULT
Time taken: 16.67 seconds
WPM (Net Speed): 43.2
Correct Characters: 60
Incorrect Characters: 4
Accuracy: 93.8%
đ¯ Goals & Learning
Rusty Type was created to:
- Learn low-level terminal control in Rust
- Understand raw input handling, multithreading, and terminal rendering
- Build a minimal, interactive CLI app from scratch
đ License
MIT License Š Delwin Prakash
Dependencies
~17MB
~286K SLoC