Rabbithole
We show our work
Our tutor runs on written instructions. Here they are, and here is how to read them.
Every AI tutor is a set of instructions given to a model. Most companies treat those instructions as the part you do not get to see. Ours are in one file, convex/prompts.ts, and you can read all of it today.
The file opens with a note to the parent reading it: “We believe you have a right to know exactly what instructions the AI receives.” Sections below link to the exact lines. Nothing in our software is designed to keep your child hooked.
What the file contains
The base tutor prompt
The foundation of every session. The tutor asks rather than answers, praises the question rather than the child, sends one question at a time, and talks less than your child does. It is told to hold the frame that it is a tool, not a companion, and to send a child who leans on it back to the people in the room.
Read it on GitHub, lines 23–143Welfare and safety
What happens when a child discloses that someone is being hurt. The tutor names a trusted adult, says the child did the right thing by telling someone, and then stops. It is forbidden from re-offering the lesson, from promising secrecy, and from asking for detail. It holds that posture for the rest of the session.
Read it on GitHub, lines 144–288The Observer
A second model reads the transcript after a session and writes down what the child demonstrated, what they misunderstood, and what to put in front of them next. It never speaks to your child. It is told never to assess what it did not observe, and to treat a misconception as evidence rather than as a mistake.
Read it on GitHub, lines 289–553The scholar dossier
A running note on how one child learns: prefers a diagram, loses patience with repetition, will follow a question about orbits anywhere. Teachers can read it and your child’s tutor uses it. It records learning patterns and nothing else.
Read it on GitHub, lines 554–628The teacher whisper
A teacher watching a session can pass the tutor a private instruction mid-conversation. The tutor works it into its next question. This is how a teacher redirects a child who is stuck without stopping the session to do it.
Read it on GitHub, lines 629–657Tools
What the tutor can do besides talk: write in a shared document, build a small app for a child to poke at, hand work to a teacher. The same block sets the design rules for anything it builds, because a generated page still has to be readable by a seven-year-old.
Read it on GitHub, lines 658–772The physical environment
The school’s real rooms and real equipment, written into the prompt so the tutor can end a conversation by sending a child to the garden, the kitchen or a balance scale. When a concept can be built, heard or measured, the instructions tell the tutor to get the child off the screen.
Read it on GitHub, lines 773–976
How the code gets published
The school writes Rabbithole in a private repository and publishes snapshots of it to a public one. The snapshot these links point at was published on 2 September 2026. Publishing is a release we run, not a mirror that syncs, so the public repository lags the running code by weeks.
Each snapshot ships a manifest listing a SHA-256 for every published file, so you can check that the bytes you read are the bytes we published.
What is coming next
The ledger: how much of a day a child spends on the device, and what the device was doing. We used to reconstruct that from message timestamps, which counts a child who is thinking as absent and a child who walked away as present. The BunnyPad now reports it directly. It records when the tutor is in front of the child, when it hands the iPad to another app a teacher authorized, and when it comes back.
Time the device could not measure is carried as an estimate in its own column and never added to the measured figure. An app the child opened and never came back from is worth ten minutes in that column, because a child who put the iPad down at three o’clock did not use it until morning, and a report that says otherwise is a made-up number in a document a parent may read.
Teachers can read this today. Publishing it here is the next piece of work. Until then, some of the numbers are on the technology page.
The questions page answers what parents ask us most, and the repository holds the rest of the code.