A free, open-source typing speed test application to measure your WPM (words per minute) and typing accuracy. Practice typing with 5 difficulty levels and track your progress over time.
- ⚡ Real-time WPM calculation - See your typing speed as you type
- 🎯 Accuracy tracking - Monitor your typing accuracy percentage
- 📊 5 difficulty levels - From beginner to master level challenges
- 📈 Progress history - Track your top 5 results automatically
- 🎨 Modern UI - Clean, dark-themed interface
- 💾 Local storage - No registration required, data saved locally
- 📱 Responsive design - Works on desktop and mobile devices
- 🔄 Auto-advance - Automatically moves to next level after completion
- Clone or download this repository
- Place files in your web server directory
- Open
index.htmlin your browser - Start typing!
See it live at typing.kyd.net
- Modern web browser with JavaScript enabled
- Web server (Apache, Nginx, or any static file server)
Simply place the files in your web root directory and access via your domain or open index.html directly in your browser.
- Start typing - The timer begins automatically on your first keystroke
- Track your progress - Watch your WPM and accuracy update in real-time
- Complete the test - Finish typing the entire text to see your final score
- View history - Check your top 5 results in the history section
- Select levels - Choose from 5 difficulty levels to practice
- Share results - Share your typing results with friends
typing/
├── index.html # Main HTML entry point
├── index45.js # Core application logic
├── index45.css # Styles and themes
├── index45-level1.json # Level 1 text content
├── index45-level2.json # Level 2 text content
├── index45-level3.json # Level 3 text content
├── index45-level4.json # Level 4 text content
├── index45-level5.json # Level 5 text content
├── LICENSE # MIT License
└── README.md # This file
Create a new JSON file following this format:
{
"level": 6,
"difficulty": "hard",
"text": "Your custom text here..."
}Edit index45.css to customize colors, fonts, and layout.
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
This project is licensed under the MIT License - see the LICENSE file for details.
This project was built to demonstrate what's possible with AI-assisted coding. The entire application was developed using Cursor in Auto mode with the basic $20/month Pro subscription.
The goal is to show others that you don't need expensive AI tools or extensive coding experience to build functional, polished web applications. With the right AI coding assistant and clear communication, anyone can bring their ideas to life.
Tech Stack:
- Cursor AI (Auto mode) - Primary development tool
- Vanilla JavaScript - No frameworks required
- Modern CSS - Custom styling with CSS variables
If you're interested in AI-assisted development, this project serves as a real-world example of what you can accomplish with accessible AI coding tools.
Want to see how it started? Check out the Initial Development Prompts to see the first three prompts that kicked off this project. The initial planning was done with Claude 4.5, and all subsequent development was completed using Cursor Auto mode.
joefaron
- Built with vanilla JavaScript (no frameworks required)
- Uses Lucide Icons for beautiful icons
- Inspired by the need for a simple, free typing test tool
- Developed with Cursor AI to showcase AI-assisted coding capabilities
- Part of the KYD Labs showcase - a collection of AI-coded projects
Made with ❤️ for the typing community
Fun fact: It's often much faster to use speech-to-text for typing than actually typing. We're at a philosophical point where even keyboarding in schools may go by the wayside - you can literally "vibe code" an entire app like this primarily with speech-to-text and just knowing how to code. The irony of building a typing test app while primarily using voice input is not lost on us.
