A modern, colorful typing game designed specifically for Indonesian children to develop motor skills and typing abilities through engaging stories and adventures. This educational tool helps children improve hand-eye coordination, finger dexterity, and keyboard familiarity in a fun, interactive way.
Author: saimskywalker
- 🌍 Multi-language Support: Indonesian (primary), English, Spanish, French
- 🎨 Modern Glass UI: Beautiful glass morphism design with smooth animations
- 📱 Mobile-First: Fully responsive design that works on all devices
- 🐯 Indonesian Theme: Cultural elements with tiger mascot and tropical colors
- 📊 Privacy-Safe Analytics: Child-friendly monitoring with COPPA/GDPR compliance
- 🎯 A/B Testing: Safe experimentation framework for UI improvements
- ⏰ Flexible Timing: Choose from 1-5 minute typing sessions
- 🎉 Interactive Feedback: Real-time encouragement and celebrations
- Rust (latest stable)
- Node.js (for development tools)
wasm-packfor WebAssembly compilation
- Clone the repository
git clone https://github.com/saimskywalker/rust-typing-game.git
cd rust-typing-game- Install dependencies
npm install- Build the WebAssembly module
wasm-pack build --target web --out-dir pkg- Start development server
npm run dev- Open in browser
http://localhost:3000
rust-typing-game/
├── src/ # Rust source code
│ └── lib.rs # Main game logic and WASM bindings
├── pkg/ # Generated WebAssembly files
├── monitoring/ # Analytics and monitoring system
│ ├── monitor.js # Client-side analytics
│ ├── ab-testing.js # A/B testing framework
│ ├── analytics-server.js # Analytics server
│ └── dashboard.html # Analytics dashboard
├── index.html # Main HTML file
├── app.js # JavaScript application logic
├── style.css # Modern glass morphism styles
├── package.json # Node.js dependencies
├── Cargo.toml # Rust dependencies
└── README.md # This file
- Enter Your Name: Start by typing your name on the welcome screen
- Choose Language: Select from Indonesian (recommended), English, Spanish, or French
- Pick Duration: Choose how long you want to play (1-5 minutes)
- Get Ready: Watch the countdown and prepare to type
- Type Stories: Help the tiger by typing the displayed stories
- See Results: Check your words per minute, accuracy, and progress
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildwasm-pack build- Compile Rust to WebAssembly
| Language | Purpose |
|---|---|
| Rust | Core game logic, state management, WPM calculations, timer handling |
| JavaScript | DOM manipulation, UI events, user interactions |
| HTML | Structure and content layout |
| CSS | Glass morphism styling, animations, responsive design |
| Makefile | Build automation and deployment scripts |
- Frontend: HTML5, CSS3 (Glass Morphism), Vanilla JavaScript
- Backend: Rust + WebAssembly (WASM)
- Styling: Modern CSS with backdrop-filter and gradients
- Fonts: Poppins, Inter (Google Fonts)
- Analytics: Privacy-focused, local storage based
This application is designed with children's privacy as the top priority:
- ❌ No personal data collection
- ❌ No typed text storage
- ❌ No tracking cookies
- ✅ Local analytics only
- ✅ COPPA/GDPR-K compliant
- ✅ Easy parental controls
Modify CSS variables in style.css:
:root {
--sunset-orange: #FF6B35;
--tropical-blue: #004E89;
--bright-yellow: #FFD23F;
/* Add your colors here */
}- Edit
src/lib.rsto add new language sentences - Update language options in
index.html - Rebuild with
wasm-pack build
Replace tiger emoji (🐯) in index.html with your preferred character.
Access the analytics dashboard at /dashboard.html to view:
- Session statistics
- Learning progress
- Performance metrics
- System health
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit changes:
git commit -m 'Add feature' - Push to branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Indonesian children and educators who inspired this project
- The Rust and WebAssembly communities
- Modern web design principles and glass morphism trends
Made by saimskywalker