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

Make Integer Subtraction Concrete
The app is designed to help learners understand subtraction through visual, tactile, and contextual examples instead of only memorizing rules. Each activity translates the same concept into a different mental model.
Guide Learners Through a Mastery Path
The experience is intentionally sequenced so students move from lesson to practice to assessment to enrichment. Progress gating ensures users build confidence step by step rather than skipping ahead.
Create an Engaging, Self-Contained Study Tool
The project combines audio feedback, themed visuals, offline readiness, and local progress persistence to keep the experience polished and usable anywhere. It feels like a complete learning product rather than a simple quiz.

Home & Navigation

Progressive Unlock Dashboard Progress Ring Summary

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

Lesson Step Interaction

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

Practice Chip Modeling Enrichment Crossword Puzzle

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

Sequential Processing Flow
Service Worker / Boot Local State Sync Route Handling Module Input validation Progress Storage Updates Unlock Check

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.