Create a polished typing speed test that measures words per minute and accuracy in real time. Features color-coded character feedback, multiple difficulty levels with different text passages, a result history chart showing improvement over time, and personal best tracking — all stored locally in the browser.
Build Prompt
Copy this prompt into Claude Code
Build a single-page typing speed test as a static HTML/CSS/JS site. Use a dark theme with background #0f0f17 and a centered test area (max-width 700px). The accent color should be #8b5cf6 (purple).
The main screen has three sections: a top stats bar, the text display area, and a text input area. The stats bar shows live-updating metrics during the test: WPM (words per minute, calculated as characters typed divided by 5 divided by minutes elapsed), accuracy percentage (correct characters / total characters typed), time remaining (countdown timer), and a small progress bar showing how far through the passage the user is.
Include at least 30 hardcoded text passages organized into three difficulty levels. Easy passages (10-15 common words, simple vocabulary like "The cat sat on the mat"). Medium passages (25-40 words, moderate vocabulary drawn from general knowledge topics). Hard passages (50-70 words with punctuation, numbers, capitalization, and technical vocabulary). The user selects difficulty from three styled buttons before starting. Also include a time selector: 30 seconds, 60 seconds, or 120 seconds.
The text display area shows the current passage in a large monospace font (1.1rem). As the user types, each character is color-coded in real time: correct characters turn #22c55e (green), incorrect characters turn #ef4444 (red) with a subtle red background tint, and the current character has a blinking cursor-style underline in the accent color. Characters not yet typed remain #6a6a80 (gray). If the user types an extra incorrect character, it should appear as a red inserted character. The display must handle word wrapping properly and keep the current word visible by auto-scrolling if the passage is long.
The input area is a transparent text input that captures keystrokes but the user reads from the display area above. Auto-focus the input when the test starts. The timer begins on the first keystroke, not when the test loads. Pressing Tab restarts with a new random passage at the same difficulty.
When the test ends (timer reaches zero or passage completed), show a results card with: final WPM, accuracy percentage, correct/incorrect/extra character counts, difficulty level, and test duration. Include a rating label: under 30 WPM = "Beginner", 30-50 = "Intermediate", 50-70 = "Proficient", 70-90 = "Advanced", 90+ = "Expert". Show a "Try Again" button and a "New Passage" button.
Below the test area, display a result history section. Store every completed test result in localStorage with timestamp, WPM, accuracy, and difficulty. Show the last 20 results as a simple line chart drawn with an HTML canvas element — X axis is test number, Y axis is WPM, with dots connected by lines and the personal best highlighted with a star marker. Display the all-time personal best WPM prominently with the date it was achieved.
Make it responsive: on mobile, stack the stats bar items into a 2x2 grid and reduce font sizes. Add keyboard shortcut hints: Tab to restart, Escape to quit mid-test.
Read the guide at https://accessagent.ai/api/guide and follow it to deploy the site to AccessAgent.ai. My email is [your@email.com].
Make It Yours
Custom Text Input
Let users paste their own text passages for typing practice. Great for practicing specific material like code snippets or essay excerpts.
Multiplayer Race Mode
Add a split-screen or side-by-side mode where two people race on the same passage using shared screen with separate input areas.
Problem Key Analysis
Track which specific keys cause the most errors and show a keyboard heatmap highlighting weak spots after each test.
Code Typing Mode
Add programming-specific passages with syntax highlighting. Include Python, JavaScript, and HTML snippets with proper indentation challenges.
SEO Tips
Target "typing speed test" and "WPM test" as primary keywords — these have 100K+ monthly searches and are highly competitive but convertible.
Create a "How to Type Faster: 10 Proven Tips" blog post linking to your tool as the practice platform to build organic backlinks.
Add schema markup for WebApplication with "Free" pricing and include average rating data to enhance search result appearance.
Target long-tail phrases like "typing test for kids," "coding typing practice," and "typing speed test with custom text" on separate pages.
Include a shareable results card with a unique URL hash so users can share their WPM scores on social media, driving viral traffic.
Monetization Ideas
Offer a premium typing course ($9.99) with structured lessons progressing from home row to full keyboard, tracking improvement across lessons.
Add a certificate generator — users who score above 60 WPM with 95%+ accuracy can download a printable PDF certificate for $2.99.
Partner with typing tutorial apps (TypingClub, Keybr) as affiliate links for users who want structured learning beyond speed testing.
Create a classroom license ($19/year) where teachers can track student typing progress across a class with a leaderboard dashboard.
Sell custom theme packs ($1.99 each) — retro terminal green-on-black, pastel light mode, cyberpunk neon — to personalize the experience.