A fast-paced browser typing game where you race against a 30-second timer to type as many words as possible. Built with React, TypeScript, Vite, and Tailwind CSS
- 30-second countdown with a live progress bar
- Real-time character feedback — green for correct, red for incorrect
- Live stats tracking — WPM, CPM, Accuracy, and Error Rate
- Smooth start screen with a 5-second countdown before the game begins
- End screen summary with full performance breakdown and a replay button
| Tool | Purpose |
|---|---|
| React 18 | UI components |
| TypeScript | Type safety |
| Vite | Dev server & bundler |
| Tailwind CSS | Styling |
- Node.js ≥ 18
- npm or yarn
git clone https://github.com/your-username/type-rush.git
cd type-rush
npm installnpm run devOpen http://localhost:5173 in your browser.
npm run buildsrc/
├── components/
│ ├── StartScreen.tsx # Intro screen with 5s countdown
│ ├── GameScreen.tsx # Core game logic and state
│ ├── WordDisplay.tsx # Per-character color feedback
│ ├── Timer.tsx # Countdown timer with progress bar
│ └── EndScreen.tsx # Results summary screen
├── App.tsx
└── main.tsx
- Click Start To Rush on the start screen
- A 5-second countdown begins, then the game starts
- Type the displayed word and press space (or complete it) to move to the next
- When the 30 seconds are up, your stats are shown:
- Score — total correct words
- WPM — words per minute
- CPM — characters per minute (speed)
- Accuracy — % of correct keystrokes
- Error Rate — % of incorrect keystrokes
- Larger and categorized word banks
- Difficulty modes (Easy / Hard)
- High score persistence with localStorage
- Multiplayer mode
- Custom timer lengths
Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.