education · Flutter · Dart · Go · AI
Looponi
An app that teaches children to think step by step before any code appears: a program is laid out like a train route on a tiled board, and a glowing token shows how every step runs. From first grade to secondary school.
two71.io/looponi/ → (project site)The challenge
Poland's new core curriculum expects grades 1–3 to express algorithms graphically and through block-based programming, and older grades learn flowcharts. Existing tools tend to be either play without learning or learning without a reason to come back tomorrow. And a child sees only a program's result, not how it got there.
The solution
A program is a board of blocks connected by a track the child lays out by hand. Before running it, the child predicts the result, then watches the token travel every step, and can scrub through the run like a film to find where it went wrong. Every concept comes back several times, each time deeper: with pictures and narration for the youngest, as classic algorithms and Python code generated from the same board for older students. Spaced reviews (3, 7, 21, 60 days) consolidate earlier lessons, and the town of Klockowo grows with every completed lesson. There are inverse tasks too ("break my program" - find the input it gets wrong) and a game in which a decision tree learns from examples.
Scope & technology
The whole product: a Flutter app (Android with automatic updates, plus the web), an engine in pure Dart with a step machine that records the execution trace, a Go API with PostgreSQL, accounts and a board gallery, an MCP server. 82 lessons across five age-based tracks, each lesson checked automatically and walked through by QA on three screen sizes; 15 mini-games, 11 board styles. The AI tutor hints in stages and never gives the full solution. Narration for the youngest is recorded with a local voice model, and every recording is verified by speech recognition. A PIN-protected parent mode, with session recording for UX analysis. The app's interface is in Polish.