Platform: Desktop Target Audience: Children aged 4–6 Deployment Mode: Offline-Only
Kids Maths Wiz is a secure, offline math learning app designed for young children aged 4–6. It focuses on basic arithmetic to improve number recognition, operational understanding, and cognitive math skills through interactive learning. A key feature is parental customization of difficulty levels.
The app provides:
- Core arithmetic problem-solving (addition, subtraction, multiplication, division).
- Parental customization of difficulty (operand ranges and operations).
- Progress tracking with visual stats (locally stored).
- Input-based interaction using a child-friendly numpad.
- Motivating feedback using voice, animations, and sound effects.
- No network dependency or external data usage.
- Four large, colorful buttons for Addition, Subtraction, Multiplication, and Division.
- An optional fifth button for Random Mode, which randomizes operations based on parental settings.
- Randomly generated arithmetic problems based on selected operation and quantity range.
- Problems can contain 2 to 4 operands (configurable).
- Operand values are generated from configurable ranges (0–10, 0–20, 0–30, 30–50, 50–100).
- Answers are unrestricted.
- Layout includes a large expression display, a large answer input field, and a full-screen numpad overlay for input.
- Correct Answer: Confetti animation and positive audio feedback ("Hooray! You got the right answer!").
- Incorrect Answer: Calm alert tone and encouraging voice feedback ("Oops! Not quite. Try again!").
- The system is designed to be supportive with no penalties.
- Locally tracked per child profile (optional).
- Records total questions answered, correct/incorrect counts, and accuracy percentage.
- Provides a visual dashboard with stars, badges, progress bars, and motivational messages.
- Accessible via a password-protected menu.
- Allows enabling/disabling individual operations, toggling Random Mode, setting operand quantity ranges per operation, configuring the number of operands per question (2, 3, or 4), and controlling audio (music, sound effects, voice feedback).
- Provides options to view and reset progress stats.
- Includes a startup audio message ("Welcome to your Maths Lessons!").
- Uses voice prompts for instructions, feedback, and positive reinforcement.
- Features optional calm background music.
- Designed for pre-literate users with icon-based UI, minimal text, and large tappable elements.
- Specifies minimum font sizes for questions and input fields.
- Color contrast compliant with simple color themes.
- Provides voice-only prompts for non-readers.
- Aims for app startup under 2 seconds and instant response to input.
- Designed to work on entry-level Android devices (Android 8.0+).
- Operates fully offline with no data transmission or external services.
- Parental controls are secured with a PIN.
- Sandbox Mode for child-led expression creation.
- Rewards System with achievements and unlockables.
- Support for Multiple Profiles.
- Optional Daily Encouragement notifications.
- Specifies guidelines for main buttons, input field, numpad, feedback animations, and settings access.
- Preferred Stack: React, TypeScript, Tailwind CSS, Shadcn, SQLite, etc.
- Audio Assets: Pre-recorded using a slow, clear voice.
- Math Engine: Uses seeded random generation, configured operand bounds, and computes/compares results.
- Includes requirements for Unit Tests (operation logic, range enforcement, validation), UI Tests (numpad, settings), and UX Tests (with target audience).
- M1: App skeleton, operation logic
- M2: Operand range config + UI
- M3: Input field + Numpad overlay
- M4: Voice + feedback system
- M5: Progress tracking + parent settings
- M6: QA + user testing (kids + parents)
- M7: Build packaging + deployment
To run this project locally:
- Clone the repository.
- Ensure you have Node.js and npm installed.
- Navigate to the project directory in your terminal.
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser to the address provided in the terminal (usually
http://localhost:5173
).
This is a simple work-in-progress app that will be improved on and evolved overtime. I built this to help my four year old son learn basic arithmatic, so it may be useful to other parents. The next step is to package the app for desktop installation.
This project is licensed under the MIT License - see the LICENSE file for details.