SubtractEd
An offline-capable math learning app that helps students master subtraction of integers through a guided lesson path, interactive practice, assessment, and enrichment. It turns an abstract topic into a sequenced, engaging learning journey with progress tracking and unlock-based navigation.
Core Objectives
Home & Navigation
Progressive unlock dashboard
The home screen reads saved progress and renders learning cards as locked or unlocked based on completion state.
Progress ring summary
A circular meter shows the user’s exact completion percentage and updates as milestones are reached.
Researcher and references panels
Expandable cards share project authorship and source materials without leaving the main page.
Reset progress modal
Users can clear all saved learning progress from the device in one confirmed action.
Guided Lesson Flow
Tap-to-advance lesson steps
The guide reveals dialogue and explanation panels one stage at a time to keep attention focused.
Teacher-student storytelling
The lesson uses a conversational format to reduce anxiety and make the math feel approachable.
Embedded intro video
A built-in video introduces the concept before the learner proceeds to practice.
Completion handoff
Finishing the guide marks the lesson complete and sends the learner into the activity hub.
Practice, Assessment & Enrichment
Activity 1 chip modeling
Learners add, remove, and cancel positive and negative chips to build a subtraction expression visually.
Activity 2 number line reasoning
Users drag a marker and step left or right to model subtraction on a bounded integer line.
Activity 3 keep-change-change
Color-coded input boxes scaffold the rule for rewriting subtraction as addition.
Assessment quiz
A data-driven question set checks mastery with immediate feedback and a final score screen.
Crossword enrichment
A multi-level puzzle uses structured grid data, intersections, and answer validation for extended practice.
Architecture & Processing Flow
1. The app boots through HashRouter, mounts the React application, and registers a service worker for offline support.
2. Navigation and home state read from browser localStorage, then derive unlock status and completion percentages through shared progress helpers.
3. The user enters the guide, activity, assessment, or enrichment flow, where each screen gathers input through its own interaction model.
4. Answers are validated locally against question data or computed results, and the UI gives feedback with modal states plus procedural sound effects.
5. When a module is completed, the app persists that milestone to localStorage and emits a custom progress event so every open view stays synchronized.
6. Route guards and unlock checks redirect users back to Home if they try to skip prerequisites, while background music switches based on the current route.
The codebase uses a lightweight client-side persistence model instead of a full database-backed progress system. Guide completion, activity completion, and overall metrics are stored separately in localStorage, and a custom event bus keeps the home page, header navigation, and progress screen synchronized without prop drilling. That architecture keeps the unlock rules centralized in learningProgress.ts, which makes the progression logic easy to reuse in both route guards and visual state.
Each learning module is intentionally built around a different teaching pattern. Activity 1 focuses on physical chip manipulation, Activity 2 turns subtraction into movement on a number line, and Activity 3 scaffolds the keep-change-change algorithm through structured inputs. The assessment uses a simple question array for scoring, while the enrichment stage uses a crossword-style grid with shared intersections and level-based progression. The backend is currently a minimal Express scaffold, so the meaningful state and learning logic live on the client side where the experience stays fast, portable, and offline-friendly.
Project Impact
SubtractEd fundamentally transforms early mathematics education by breaking down complex subtraction concepts into an interactive, visually engaging game. It directly combats math anxiety in young learners by replacing intimidating numerical drills with intuitive visual models, chip subtraction, and progressive unlocking mechanisms.
For teachers and parents, the platform functions as an effective, self-guided diagnostic tool. The detailed progress rings and guided lesson flows offer granular visibility into exactly which subtractive concepts a student has mastered, reducing the time spent grading and allowing for targeted instructional intervention.
Ultimately, SubtractEd fosters deep, foundational mathematical confidence. By creating an environment where failure is treated as an engaging learning step rather than a penalty, the platform equips students with the resilient problem-solving mindset necessary for their long-term academic journey.