Terminal-based adaptive typing practice with progressive key learning
Project description
TypeFast
Terminal-based adaptive typing practice with progressive key learning and intelligent difficulty adjustment.
โจ Features
- ๐ฏ Adaptive Learning - Progressively unlocks keys as you master them
- ๐ Real-time Analytics - Track WPM, accuracy, and performance trends
- ๐ Intelligent Targeting - Focuses practice on your weakest keys
- ๐ Progress Visualization - Beautiful ASCII charts showing improvement over time
- โจ๏ธ Keybr-Style Error Handling - Must type correct key to advance, wrong keys highlighted in red
- ๐จ Clean Terminal UI - Minimal, distraction-free interface
- ๐พ Persistent Stats - Your progress is saved between sessions
- ๐ Performance Tracking - View top speed, consistency scores, and detailed per-key analysis
๐ Quick Start
Installation
pip install typefast
Run
typefast
That's it! Start typing and improve your skills.
๐ How It Works
TypeFast uses an adaptive learning system that:
- Starts Simple - Begin with just the home row keys (a, s, d, f, j, k, l)
- Tracks Performance - Monitors your speed and accuracy for each key
- Unlocks Progressively - Adds new keys when you've mastered current ones
- Targets Weaknesses - Generates exercises focusing on your difficult keys
- Shows Progress - Visualizes your improvement over time with charts and statistics
๐ฎ Usage
Basic Controls
- Type - Just start typing the displayed text
- Backspace - Skip current exercise and start a new one
- Cmd+/Cmd- - Increase/decrease font size
- Ctrl+C - Quit and save progress
- Resize Terminal - Drag terminal bigger to see extended statistics
Understanding the Interface
TypeFast - Adaptive Typing Practice
WPM: 87 | Accuracy: 92% | Keys: 325 | Errors: 12
some hand fast first fast them play go first fast
Last 5: 118wpm | 93wpm | 81wpm | 89wpm | 94wpm
Avg: 88wpm | Top: 120wpm | Consistency: 83%
Key Difficulty (practice needed):
't': โโโโโโโโโโโโโโโโโโโโ 39.5 (acc: 86.5%)
'y': โโโโโโโโโโโโโโโโโโโโ 33.6 (acc: 88.9%)
...
Per-Key Speed Analysis:
Fastest: u:117wpm | e:108wpm | n:101wpm
Slowest: g:65wpm | y:62wpm | t:59wpm
WPM Progress - All Time (325 rounds):
[Beautiful ASCII line chart showing your progress]
Color Coding
- ๐ข Green - Correctly typed characters
- ๐ด Red - Characters where you made mistakes
- White/Highlighted - Current character to type
- Gray - Not yet typed
๐ Statistics Explained
Main Stats
- WPM - Words per minute (5 characters = 1 word)
- Accuracy - Percentage of keystrokes without errors
- Top Speed - Your personal best WPM
- Consistency - How stable your performance is (lower variance = higher score)
Advanced Stats (Tall Terminal)
- Per-Key Speed - Individual WPM for each key
- Session Stats - Current session accuracy and key count
- Progress Chart - All-time WPM trend across all sessions
๐ฏ Tips for Improvement
- Don't Look at Keyboard - Force yourself to use touch typing
- Accuracy First - Speed comes naturally with accuracy
- Practice Weak Keys - TypeFast automatically targets these
- Regular Sessions - 10-15 minutes daily beats marathon sessions
- Proper Posture - Sit correctly and position hands on home row
- Use All Fingers - Don't hunt-and-peck with index fingers
๐ ๏ธ Advanced Usage
File Locations
TypeFast stores data in your home directory:
~/.typefast_stats.json # Key statistics and progress
~/.typefast_history.json # Historical WPM data
Reset Progress
To start fresh:
rm ~/.typefast_stats.json ~/.typefast_history.json
Customize Terminal
For best experience:
- Font Size: Use Cmd+/- to adjust
- Window Size: Drag larger to see more stats
- Color Scheme: Use a dark terminal theme
๐ค Contributing
Contributions welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
- Improve documentation
๐ License
MIT License - see LICENSE for details
๐ Acknowledgments
Inspired by keybr.com and other typing practice tools.
๐ง Contact
- GitHub: @seikixtc
- Issues: GitHub Issues
๐ Star History
If you find TypeFast useful, please consider giving it a star on GitHub!
Happy Typing! ๐น
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file typefast-1.0.1.tar.gz.
File metadata
- Download URL: typefast-1.0.1.tar.gz
- Upload date:
- Size: 22.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a5a81c7340f7e91343b94d25cdff7b6051226458f936582531963c7fe931545
|
|
| MD5 |
c66c7992619663987de9120cf9f23648
|
|
| BLAKE2b-256 |
f24bbd55109e1eba989718a99474bf4b666055a636aa1f998579ec53335e3aaf
|
File details
Details for the file typefast-1.0.1-py3-none-any.whl.
File metadata
- Download URL: typefast-1.0.1-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db9926ecdeb5a6c564742e74843015960bd5aa8eb07f3e6f40293ba632efc74d
|
|
| MD5 |
61e55c0cf3347f979f6e1bd003b27f80
|
|
| BLAKE2b-256 |
a50e8685bcbda86cb6bae1ac55ac75f54b27e98326b7883d7998dc974e6bb9d4
|