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.
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.



build notes
- Solvability check: can every target card actually be built? · Checking a timed card game's fairness exhaustively, instead of by feel.
Built with Claude Code multi-agent workflows: I designed the architecture, owned the decisions, and verified the output; agents wrote most of the code.