A smart typing test with adaptive difficulty and real-time analytics.
- Adaptive word selection - Algorithm learns from your typing patterns
- Multiple modes - Time-based, word-based, and infinite typing
- Real-time statistics - WPM, accuracy, burst speed, and consistency
- Sound feedback - Professional audio using Web Audio API
- Smart difficulty - Automatically adjusts based on performance
- Responsive design - Works on desktop and mobile
Try it live: mosaddiqdev.github.io/typ1ng
# Clone the repository
git clone https://github.com/mosaddiqdev/typ1ng.git
# Navigate to directory
cd typ1ng
# Serve locally (any static server works)
python -m http.server 8000
# or
npx serve .
# Open http://localhost:8000
The core innovation is the SmartWordSelector algorithm:
- Tracks performance - Records accuracy and speed for each letter
- Identifies weaknesses - Finds letters you struggle with
- Adapts selection - Chooses words that help you improve
- Maintains balance - Ensures varied practice while targeting problem areas
typ1ng/
├── js/
│ ├── main.js # Application entry point
│ ├── modules/
│ │ ├── TypingTest.js # Main test controller
│ │ ├── SmartWordSelector.js # Adaptive algorithm
│ │ ├── StatsCalculator.js # Real-time analytics
│ │ ├── SoundManager.js # Audio system
│ │ ├── UIController.js # Interface management
│ │ └── KeyboardHandler.js # Input handling
│ └── data/
│ └── wordList.js # 10,000+ word dataset
├── styles/
│ └── style.css # All styling and responsive design
└── assets/
└── application.png # Screenshot
Built with vanilla JavaScript - No frameworks or dependencies
Key algorithms:
- Adaptive word selection based on user performance
- Real-time WPM calculation with burst speed detection
- Character-level accuracy tracking and analysis
- Smooth DOM updates without layout shifts
Modern web APIs:
- Web Audio API for professional sound design
- Performance API for monitoring and optimization
- LocalStorage for settings persistence
- Chrome/Edge 80+
- Firefox 75+
- Safari 13+
Requires modern JavaScript features (ES6 modules, Web Audio API).
MIT