Thanks to visit codestin.com
Credit goes to lib.rs

#speed #cli #game

app rusty-type

Terminal typing test built in Rust using Termion

1 unstable release

Uses new Rust 2024

0.1.0 Nov 26, 2025

#992 in Command line utilities

MIT license

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 termion and random_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