A small React + Vite seed project for a browser typing game that teaches a child to use both hands and all fingers.
- Finger-aware keyboard map with left/right hand guidance
- Level progression by finger groups and keyboard rows
- A simple playable mission loop with score, streak, and accuracy
- Practice phrases for each lesson
- Toggleable hint mode for finger labels
Vite's current Getting Started guide shows the standard local flow and the default dev, build, and preview scripts for a Vite project. It also notes current Node.js compatibility requirements for the latest major version. See the official Vite guide for the latest details.
npm install
npm run devThen open the local URL printed by Vite.
src/App.jsx- main game screen and lesson logicsrc/styles.css- all stylingsrc/main.jsx- React entry point
- The project uses physical key codes such as
KeyAandSemicolon, which aligns well with finger-training gameplay because physical key positions remain stable across layouts. - This is a seed project: the next obvious additions are richer lesson authoring, saved progress, and teacher/parent dashboards.
Players can finish levels, but they currently get weak feedback on consistency. A visible streak system can motivate focused, error-free typing.
- Add a
successStreakcounter that increments for each successful target. - Add a
bestSuccessStreaktracker for the highest streak in the current level run. - Any failed keypress (
failure: truefrom an engine result) immediately resetssuccessStreakto0. - Render both in the stage header:
🔥 <current> (Max <best>).
- Success path:
successStreak += 1,bestSuccessStreak = max(bestSuccessStreak, successStreak). - Failure path:
successStreak = 0, butbestSuccessStreakstays unchanged. - Level change / replay: both values reset (fresh run).
- Gives instant feedback on momentum.
- Rewards precision without punishing progress.
- Works across single-key, prompt-typing, and combo levels via engine-provided failure flags.