Keyarch is a fast, minimal CLI typing test built with Go and BubbleTea. Features multiple test modes, 10 stunning themes, real-time WPM graphs, and a comprehensive gamification system with 23 achievements. Perfect for developers who want to improve their typing speed without leaving the terminal.
Multiple Test Modes
- Timer mode (15s - 120s)
- Word count mode (25 - 200 words)
- Random quote mode
- Code snippets (10 languages)
Gamification System
- 23 unique achievements
- Daily & weekly goals
- Hidden expert achievements
- Progress dashboard (3 tabs)
Advanced Analytics
- Live WPM graph (sparkline)
- Typing heatmap (color-coded keys)
- Weak keys identification
- Daily streak tracking
Beautiful Themes
- 10 carefully crafted themes
- Catppuccin, Nord, Dracula, Gruvbox
- Tokyo Night, Rose Pine, One Dark
- Monokai, Solarized, Material
Deep Dive
Achievement System
The gamification system includes 23 achievements across multiple categories: Speed (50+ WPM to 150+ WPM), Accuracy (95% to 100%), Dedication (100 to 1000 tests), and Consistency (daily streaks). Hidden achievements unlock at expert milestones, creating surprises for dedicated users. Daily and weekly goals auto-reset with progress tracking displayed in a comprehensive 3-tab dashboard.
Difficulty Levels
Choose from Easy, Medium, or Hard word sets with over 300 words total. Each difficulty level is carefully curated to match your skill level, helping you progress from basic typing to advanced speed. The system tracks your performance across difficulty levels to provide personalized insights.
Sound Effects
Immersive audio feedback includes keystroke sounds and achievement/goal notification sounds. This adds a satisfying tactile dimension to your typing practice, making each session more engaging and rewarding.
Code Mode Languages
Go
JavaScript
TypeScript
Python
Rust
C++
Java
C#
Ruby
PHP
Installation
Quick Install
go install github.com/vinayydv3695/keyarch/cmd/keyarch@latestFrom Source
git clone https://github.com/vinayydv3695/keyarch.git cd keyarch go mod tidy go build -o keyarch ./cmd/keyarch sudo mv keyarch /usr/local/bin/
Usage Examples
Launch TUI
keyarchDirect Mode (Skip Menu)
keyarch --mode quick --duration 30 - 30 second test
keyarch --mode words --words 50 - 50 word test
keyarch --mode quote - Random quote
keyarch --mode code - Code snippet
With Theme
keyarch --theme draculaKeyboard Shortcuts
↑/↓ or j/k - Navigate
Enter - Select
ESC - Back
Ctrl+C - Quit
Backspace - Delete character
During test, ESC exits to menu
Technical Stack
- • BubbleTea
- • Lipgloss
- • Bubbles
- • Cobra
- • Viper
- • SQLite
- • Local (~/.keyarch/)
- • Go 1.22+
- • Pure Go
Performance Tracking
All data is stored locally in ~/.keyarch/keyarch.db
- Test history with timestamps
- Best and average WPM
- Accuracy trends over time
- Daily streak monitoring
- Weak keys analysis
- Achievement progress
Project Structure
keyarch/ ├── cmd/keyarch/ │ └── main.go # Entry point ├── internal/ │ ├── engine/ # Typing test logic │ ├── tui/ # BubbleTea UI │ │ ├── home/ # Menu screen │ │ ├── test/ # Test screen │ │ ├── summary/ # Results │ │ ├── stats/ # Statistics │ │ └── theme/ # Theme selector │ ├── storage/ # SQLite database │ ├── config/ # App settings │ └── data/ # Text generation ├── assets/ │ ├── words/ # Word lists (easy/medium/hard) │ └── snippets/ # Code snippets (10 languages) └── go.mod