Math Attack

Built for Formative Minds

A timed maths card battle on the reception screens of two tuition centres.

role
Sole developer: the app, cloud sync, and deployment to both centres.
stack
Flutter · Dart · Supabase (PostgreSQL) · Airtable · Windows

Students (at the primary school level) build an equation from a hand of number cards to hit a target before the timer runs out. It runs on portrait screens at two centres and is currently in daily use.

The box works fully offline and is the source of truth; results sync to a database archive and a staff view when connected to a network.

Math Attack architecture

The kiosk app (currently live on portrait displays at both centres) is built from the same shared packages as the player app (currently in development for mobile), so a rule change lands once across both. It runs fully offline: the box itself is the source of truth.

Results queue in a local outbox and sync, when connected to a network, to an insert-only database endpoint, then on to a staff view. Which cards each level gets is decided by an exhaustive solvability check.

The game's start screen: two pupils in school uniform below a storm-lit skyline, the Math Attack title, three level buttons for P1-2, P3-4 and P5-6, and a season panel listing the top ten scores for each level.
The start screen. Each level keeps its own season board; the scores here are test data.
A battle in progress: a golden dragon-like monster above five green target cards, with 13 selected, the equation 2 x 5 + 3 in the input bar, the three used number cards greyed out, and a lit SUBMIT button.
A round mid-solve: the target is 13 and the equation is built. Submitting it banishes the monster and scores a point.
A portrait touchscreen at a tuition centre, showing a Math Attack battle: a monster, five green target cards, a number keypad and five white number cards.
Math Attack running on the portrait display at one of the centres.

build notes

Built with Claude Code multi-agent workflows: I designed the architecture, owned the decisions, and verified the output; agents wrote most of the code.