A clean, modern, and smooth typing test application inspired by MonkeyType — built with Python and CustomTkinter.
AryaKeys is a fast, minimal, and beautifully designed desktop typing test app that tracks your typing performance in real time.
It features accurate WPM calculation, keystroke tracking, error detection, animated caret rendering, and automatic history saving — all wrapped inside a polished dark UI.
Built with clean architecture and performance optimizations in mind.
- ⚡ Real-time WPM calculation
- 🎯 Accurate keystroke & error tracking
- 📊 Accuracy percentage tracking
- ⏱ Time-based tests (15 / 30 / 60 seconds)
- 📝 Word-based tests (10 / 25 / 50 words)
- 📈 WPM history recording
- 💾 Automatic local JSON result saving
- 🖥 Smooth dark-themed UI
- 🎨 Per-character highlighting (correct / incorrect / untyped)
- ✨ Blinking animated caret
- 🔁 Instant restart with
TaborCtrl + R - 🛡 Corruption-safe history file handling
- 🧠 Optimized rendering logic for performance
The project follows a modular structure:
- TextProvider → Supplies words and quotes
- TypingEngine → Manages typed input and character states
- StatsTracker → Calculates WPM, accuracy, errors, and timing
- HistoryManager → Safely saves and loads JSON history
- AryaKeysApp (GUI) → Handles rendering and user interaction
Clean separation of concerns makes the project easy to maintain and extend.
Clone the repository:
git clone https://github.com/MRThugh/AryaKeys.git
cd AryaKeysInstall dependencies:
pip install customtkinterRun the application:
python main.pyAryaKeys follows the standard formula:
[ WPM = \frac{(\text{Correct Characters} / 5)}{\text{Elapsed Minutes}} ]
Accuracy:
[ Accuracy = \frac{\text{Correct Characters}}{\text{Total Typed Characters}} \times 100 ]
AryaKeys/
│
├── main.py
├── aryakeys_history.json # Auto-created
└── README.md
{
"timestamp": "2026-05-05T14:32:10",
"wpm": 72,
"accuracy": 95,
"errors": 6,
"keystrokes": 320,
"mode": "time 30",
"wpm_history": [[1.0, 48], [2.0, 52], [3.0, 60]]
}This project is open source and open to contributions.
Feel free to:
- Fork the project
- Submit pull requests
- Suggest improvements
- Add new features
Contributions are always welcome ❤️
This project is licensed under the MIT License.
You are free to use, modify, distribute, and build upon this software, provided that the original license is included.
See the LICENSE file for details.
Ali Kamrani
GitHub: https://github.com/MRThugh
⭐ If you like this project, consider giving it a star!