Keyarch

Beautiful Terminal Typing Test

GoBubbleTeaLipglossCobraSQLiteTUI

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@latest

From 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

keyarch

Direct 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 dracula

Keyboard Shortcuts

↑/↓ or j/k - Navigate

Enter - Select

ESC - Back

Ctrl+C - Quit

Backspace - Delete character

During test, ESC exits to menu

Technical Stack

TUI Framework
  • • BubbleTea
  • • Lipgloss
  • • Bubbles
CLI
  • • Cobra
  • • Viper
Storage
  • • SQLite
  • • Local (~/.keyarch/)
Language
  • • 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