Welcome to TyFlow โ a cutting-edge, highly visual Command-Line Interface (CLI) based typing speed tester, analytics dashboard, and training ecosystem built for developers, terminal enthusiasts, and speed-typing purists.
Unlike traditional web-based typing tools, TyFlow brings a gamified, minimalist, and ultra-focused typing environment straight to your terminal, complete with predictive text animations, SQLite-driven insights, and integrated media utilities.
- Live Color-Coded Feedback: Instant visual validation (
Greenfor correct keys,Red Backgroundfor errors). - Smart Cursor Engine: A distinct, pulsing underline indicator showing exactly where your next keystroke belongs.
- Focus Mode Animation: A rolling text carousel where past text fades out, the current word pops in neon contrast, and upcoming sentences are hidden (
...) to optimize raw subconscious focus.
- The 15-Level Ladder: Move systematically from basic home-row training to advanced symbolic text configurations.
- Level 15 (The Endless Scroll): An infinite, unrestricted time mode featuring complex literature, philosophy, and code strings for endurance mapping.
- Custom Snippet Loader: Feed any raw
.txtfile path or code snippet into the engine instantly.
- A high-stakes, memory-driven typing game where words flash momentarily (
$0.5\text{s} - 1\text{s}$ ) and completely vanish. You type from active recall! Includes a lives/hearts system and scaling speeds.
- Error Heatmap Trackers: Records structural errors down to the exact keystroke/finger node, highlighting your weakest typing junctions.
- Adaptive Paragraph Generation: Dynamically builds automated practice sessions utilizing words heavily weighted with your historically missed characters.
TyFlow is built on top of robust, modular Python engineering constraints:
- Core Interface:
Python 3.10+combined withRich/Cursesfor high-performance terminal redrawing. - Data Layer:
SQLitewithSQLAlchemy (ORM)configured in WAL (Write-Ahead Logging) mode for bulletproof, crash-resistant persistence. - Visualization:
Plotextfor terminal-embedded line graphs. - Media Pipelines:
FFmpegandyt-dlpintegration ready for auxiliary tasks.
You can deploy TyFlow using two primary paradigms: the quick automated Windows installer or manual cloning.
For a native, stress-free setup that packages all binaries (ffmpeg and yt-dlp included), use the Inno Setup Installer:
-
Navigate to the Releases tab.
-
Download
TyFlow_Setup.exe. -
Run the installer wizard.
-
Magic: The installer automatically writes the operational binaries directly into your Windows System PATH Environment Variables. Open any system Command Prompt or PowerShell instance and type:
tyflow --help
If you prefer running the application straight out of the Python engine environment:
- Clone the Repository:
git clone https://github.com/yourusername/TyFlow.git
cd TyFlow- Install Dependencies:
pip install -r requirements.txt- Run the Application:
python main.pyTyFlow is entirely controllable directly through system argument flags. Skip deep menus by targeting your operational profile:
| Command | Action |
|---|---|
tyflow --level 5 |
Instantly drops you into Progressive Level 5 training. |
tyflow --custom ./my_text.txt |
Loads your personal raw text or code block into the Focus engine. |
tyflow --game ghost |
Starts the "Ghost Typist" memory flash mini-game. |
tyflow --stats |
Draws the interactive statistics dashboard and error heatmap charts. |
TyFlow/
โ
โโโ main.py # Primary entry point & CLI Router
โโโ config.py # Theme dictionaries and application settings
โ
โโโ core/ # Algorithmic and calculation modules
โ โโโ engine.py # Keystroke parser, WPM/Accuracy math calculations
โ โโโ database.py # SQLAlchemy schemas and WAL log controller
โ โโโ words_loader.py # Content parsing and adaptive text synthesis
โ
โโโ ui/ # Presentation layer
โโโ components.py # Custom text blocks and progress bars
โโโ screens.py # Dashboard layouts and terminal drawing matrices
To compile your modifications into a standalone .exe or bundle an installer yourself:
pyinstaller --onedir --console --name="AdvancedTyper" main.py
Open installer_config.iss within the Inno Setup Compiler to generate the distributed installation suite.
- Lead Architect & Developer: Mohammad Mijanur Rahman (Mohammad Mizan)
- Built with a passion for high-efficiency automation and minimalist software aesthetics.
This project is licensed under the MIT License - see the LICENSE file for complete visibility.