Hexa-Programmer Presents

HEXATYPING

An open-source, terminal-based typing tester built for Linux power users. It seamlessly combines typing practice with programming syntax, essential Linux commands, computer science concepts, and general knowledge.

BUILT FOR
THE TERMINAL.

Hexatyping terminal interface running a typing test
Hexatyping terminal interface showing live WPM and accuracy metrics

TYPE.
MEASURE.
IMPROVE.

FEATURES

01

Multiple typing modes

Switch between distinct modes designed to improve both typing speed and technical knowledge simultaneously.

02

Live WPM tracking

Monitor your typing speed dynamically with a live Words Per Minute graph integrated into the terminal.

03

Accuracy tracking

Measure your precision meticulously, with final WPM scores intelligently adjusted based on keystroke inaccuracies.

04

Technical practice

Practice with actual programming syntax and core computer science definitions to build muscle memory.

05

Linux command practice

Master essential Bash and Linux system commands directly within your typing sessions.

06

Minimal terminal-first interface

A completely distraction-free Text User Interface designed specifically for productivity and speed.

MODES

01 — NORMAL

Standard English sentences designed for conventional, uninterrupted typing practice.

02 — PROGRAMMING

Actual programming syntax such as Python and C++ to help practice specific coding keystrokes.

03 — SYMBOLS

Helps typists practice symbols.

04 — GENERAL KNOWLEDGE

Curated science and history facts designed to combine knowledge-building with typing.

05 — PROGRAMMING KNOWLEDGE

Computer science concepts and definitions to reinforce CS learning while increasing speed.

06 — OS COMMANDS

Essential Linux and Bash commands to build reflexive terminal navigation skills.

HOW IT WORKS

Hexatyping operates entirely within the terminal. As the user types, the application captures keystrokes via the TUI, measuring accuracy against the selected mode's text bank. The real-time WPM is calculated dynamically and adjusted for errors upon completion.

To ensure persistent tracking across sessions, personal best scores and historical data are serialized and saved automatically to the user's home directory:

~/.hexatype_scores

This guarantees a lightweight, private, and localized tracking system without requiring any external databases.

TECH STACK

PYTHON CURSES

INSTALLATION

git clone https://github.com/Hexa-Programmer/hexatyping.git
cd hexatyping
python hexatyping.py

PROJECT NOTE

Hexatyping was developed entirely by Hexa-Programmer. The diverse content banks for the typing modes were curated and generated with AI assistance. AI was also utilized to help debug and refine the complex terminal rendering and TUI logic. This is a personal learning project and will continue to evolve over time.

OPEN SOURCE

SOFTWARE THAT GETS
OUT OF YOUR WAY.

View on GitHub