A coding game for pre-readers (ages 3–7)
Make It Go teaches a child who can't read yet the core intuitions of programming — through play. They tap large picture-tokens to build an ordered plan, press go, and the character does exactly what they said. No reading, no typing, no microphone.
Success is measured by capability gained, never time on app. The win condition is that they outgrow it and graduate to ScratchJr. A warm AI partner talks them through it by voice and decides when they're ready for the next idea.

Level 1: “Uh oh, a gap! Pick the one move that gets the bunny past it, then press go.”
I have two kids — Zoe (2½) and Autumn (5). When I went looking for games to build the foundation under coding — sequence, cause and effect, “it does exactly what you say” — I found a surprisingly big gap: lots of flash, very little that genuinely builds capability at this age, before reading. So I started building the thing I actually wanted for them.
Underneath the play there's a real question I want to answer.
That's the experiment. The app is the instrument; the finding is the point.
The character walks itself — walking is free, never something they program. A level is a path of event points, each needing one action: a gap → jump, a branch → duck, a step → climb; later a key → grab, a gate → open. They lay out an ordered row of action tokens, then tap go.
It's plan-first, then run — no twitch input, no runner mechanic.

Iteration: fold many jumps into one repeat chip

Decomposition: grab the key first, or the gate stays locked
Each level plants or reinforces exactly one idea, in order, and is reskinnable by any theme — a theme is just data (a hero, its poses, the obstacle art, a palette), never a fork of the engine. Anchors are spoken in the same childlike words every time — that's what makes them stick — and map straight onto ScratchJr for the handoff.

Six original theme packs over one engine — the only front door is “choose your character”
After the nine rungs, levels are generated, not authored — validated against the interpreter so they're always solvable, with the order shuffled so the action sequence can't be memorized. The partner aims each one at the child's least-developed skill. That's the transfer test made real: can they solve a level no one walked them through?
A server-side Claude (Sonnet) reacts, narrates, and offers the right tool at the right moment — never an interrogation, never shame for a mistake. It's honest and readiness-aware: it gates progress on demonstrated mastery, not on attempts or time. The engine itself is deterministic, so the partner is one clean seam over a system that always works — even with audio off and the local stub.

As the partner speaks, the word being spoken grows and highlights — tying the sound to the written word
The constraints are the design. They're what keep it honest about building capability instead of farming attention.
Make It Go started as a parent's problem — nothing good for Zoe and Autumn before reading — and became a working instrument for a real question about AI and learning. The engineering reflects that: a pure, theme-agnostic interpreter under full unit test (128 tests), with a theme expressed as data so six packs share one engine and the play loop is never forked.
The AI lives behind one seam — a local stub for determinism and tests, server-side Claude for the warm partner — so the experiment stays honest and the game always works. Shipped and playable today, with the partner growing into the difficulty director next.