LeesSom mascot

Context

A pure quiz format — no matter how polished — loses out against actual games for children's attention. The core thesis behind LeesSom: the curriculum must BE the game mechanic, not sit alongside it. Arithmetic becomes spell-casting, spelling becomes creature combat, geography becomes ship navigation.

Constraint

The audience is children aged 6 to 12. That means: no ads, no in-app purchases, no account required, and a privacy design where structurally no personal data is collected.

Decisions

  • First version: a Flutter app with an ASP.NET Core backend in vertical-slice architecture and SQLite.
  • Second version: rebuilt as a Phaser 4 web game, delivered as an installable PWA — game scenes replace page navigation, and browser back/forward maps to the scene history instead of URLs.
  • Adaptive difficulty and per-subject progress as first-class server functionality, not an afterthought.
  • A parental gate protected by an arithmetic problem too hard for the target age group itself.

What it costs to run

A single VPS with Caddy reverse-proxying to an ASP.NET Core API; game assets (atlases, parallax backgrounds, bitmap fonts) are generated at build time rather than committed as binaries — a smaller repository, reproducible assets.

What I'd change

The first version had too many disconnected mini-games with no overarching narrative; knowing what I know now, I'd have taken the rebuild's cohesive "wizard academy" framing as the starting point rather than a later addition.

A similar problem to solve?

A no-obligation introduction call about building for a specific audience.

Plan an introduction call