Loop Island

A 2nd-grade sandbox for feedback loops — built pedagogy first, then the world, in that order and on purpose.

Four machines. Every one of them is doing something over and over.

What this is

The experiment

Andrej Karpathy gave a model the first paragraph of The Lord of the Rings, a 1M-token budget, and asked for a three.js render. Cara Engelbrecht ran the same shape at a preschool letter-A world, and named what was missing:

“almost no product or pedagogy direction” … “I'm super curious to try with proper product spec and educational guidance.”

This is that try, at feedback loops for 7-year-olds. The design notes were written before any code, and — importantly — they record a falsifiable prediction about what backwards design would reach that free association would not.

The idea

Stripped to what fits a 7-year-old

A loop is when what you do comes back around and changes what you do next. Two flavors, and only two:

Loops that push back

Go too far and it pulls you home.
Thermostat · a full cup · your body sweating

Loops that pile on

A little more makes even more, and more.
Snowball · microphone screech · a rumor · a fire

Not “negative feedback” and “positive feedback.” Those words run backwards from a child's intuition — positive sounds good, and it's the one that burns your house down.

Backwards design

Four machines, four outcomes

Each machine exists to serve one outcome, and that link lives in the code — an activity cannot be added here without naming what a child could do because of it.

MachineOutcome it servesLoop
🏠 The Warm Hut Point at a loop and say what comes back around pushes back
🔥 The Hungry Campfire Tell pushing back from piling on piles on
💧 The Patient Pond Say what a loop is trying to keep true pushes back
🗼 The Lighthouse Change what a loop wants and predict what happens pushes back
…and you can move the goal

The prediction

Recorded before building, so it could be wrong

Association would generate a thermostat and a snowball, because those are what “feedback loop” is associated with. It would be unlikely to generate changing the setpoint, because nothing about the phrase “feedback loop” suggests it. But it's the outcome that matters most.

The lighthouse is that outcome — the only machine whose goal a child can move. The game asks them to predict before they touch it.

“You did not make the lamp brighter — you changed what the lamp wants, and the loop did the rest.”

That is the moment a child stops being inside a loop and starts being able to look at one from outside.

The lighthouse lesson, asking the child to predict what happens before turning the dial
The payoff moment — the question comes before the dial.

The interesting failure

An hour debugging a working app

Playing the pond lesson, nothing happened. A dozen rounds of fixes followed — hit radius, draw box, pixel conversion, cache headers, a real circular import, a real temporal-dead-zone bug. None of it worked.

Then a bare listener was armed on the canvas and clicked:

{ "rawClicks": 0 }

Zero. The click tool had stopped delivering events to the page. The world was never broken. Every fix “didn't work” for a reason that had nothing to do with the fix.

Karpathy's closing point is that models “can't easily audit their work because they aren't able to efficiently and natively perceive videos or play games within them.” This hit that wall in the most literal way available: there was no way to tell “my click missed” from “my click was never sent.”

Three of those dozen changes were real bugs worth keeping. Two were fixes to nothing. The remedy is now a test that runs first and fails loudly if clicks aren't reaching the canvas — so no future session spends an hour reading a dead instrument as facts about the world.

Verification

Tests that hold the design honest

18 headless tests cover the loop physics and — more interestingly — the design itself:

npm test      # 18 green
npm run play  # walk the world in a terminal

Sibling

The same method, a different subject

🏝️

Feelings Island

A preschool sandbox for social-emotional learning. Six outcomes, and a self-report fence enforced in code — because a game must never tell a four-year-old that their own feeling is wrong.

Honesty

Known limits