Inspiration
Kids ask the hardest questions at the worst moments. “Why is the sky blue?” comes up in the car. “Where do people go when they die?” comes up at bedtime. Parents often don’t know the answer, or don’t know how to say it to a seven-year-old.
School can’t fill that gap alone. One teacher explains one way to a room of 20 or 30 kids, and nothing remembers the child. Every September a new teacher starts from zero, and every learning app is a fresh login with no history.
We wanted a companion whose memory belongs to the family, and one that keeps parents and the school in the loop.
What it does
Kite is one AI companion that follows a kid from 1st to 12th grade. One brain serves four screens:
Kite OS, a full-screen shell for the school Chromebook. Kite is one app next to Classroom, Quizzes, Calendar, Story time, and My creations, and Ask Kite sits in the dock on every screen. Hold the diamond and talk. A kid-safe handheld device with approved contacts, a camera that asks “What’s this?”, a walkie-talkie button, and an SOS button that sends the kid’s location to their parents. A parent console with the kid’s strengths and growing areas, big-question cards, family values settings, safety alerts, and a grade slider that replays any past school year. A school counselor console. Abuse disclosures go only here, never to the parent, because the parent could be the abuser.
Kite answers out loud at the kid’s grade level. Each grade band (K-2, 3-5, 6-8, 9-12) sets the reading level, sentence length, style, and voice. The screen grows up too, from a bright noon sky at K-2 to an aurora night at 9-12. A kid can say “make it a movie” to get a narrated cartoon, say “make it a game” to get a small game about the idea, or ask for a picture-book story that Kite reads aloud. In Teach Kite, the kid explains an idea while Kite listens, then Kite celebrates or asks one guiding question about what was missed. Homework help follows the assignment: hints for open homework, a kind pause during a live quiz, and the full worked solution once the quiz closes.
Kite remembers what the kid learned, not what they said. It stores learning data only, chat text expires after 30 days, and the kid never sees levels or scores.
How we built it
The brain is a Python FastAPI service. Our rule was “a decision model decides and Claude talks.” On each turn, Microsoft-Decision-1 on Azure AI Foundry answers every routing question in one call, with a calibrated probability for each answer. At the same time, Azure AI Content Safety and Prompt Shields check the input. A pure function, then picks one route in a fixed order: alert, live-quiz pause, ask a parent, Teach Kite, homework, about me, or answer. Claude Sonnet 5.5 streams the answer sentence by sentence. Each sentence passes Content Safety again before ElevenLabs speaks it in the grade band’s voice.
Memory is an append-only, grade-stamped learning ledger in SQLite. Every sensitive column is sealed with AES-256-GCM under a per-family key. Claude Haiku 5.5 proposes learning facts with typed output, and a Decision-1 gate drops anything that isn’t learning data. If the classifier falls back to another backend, the gate stores nothing.
For brand-new animated movies and brand-new games, we deployed a Foundry hosted agent called kite-studio. It uses the Claude Agent SDK to run Claude Code on Claude Opus 5.5 inside a VM-isolated sandbox. Claude Code writes a self-contained page with Phaser, GSAP, or KAPLAY, runs a Playwright play-test, looks at its own screenshots, and fixes what it sees. The brain then screens every string with Content Safety and serves the result in a sandboxed iframe with no network access.
To give our demo kid eleven years of history, we ran a scheduled job over night. Claude Haiku 5.5 persona agents played Maya, a simulated kid, from grade 1 to grade 11, through the same code path a real kid’s turn takes. That run produced 330 turns in 110 sessions. Every record in the project is synthetic.
Challenges we ran into
A simulated kid who wouldn’t show what she knew. Kite only counts mastery the kid demonstrates. Halfway through the first night shift, we found just 3 skill-evidence events after six grades, because the persona almost never chose to teach back. We scheduled a short lesson into two of every three sessions and reran it. A coding agent that crashed before writing a line. The first call to the hosted agent returned only “Failed to forward request.” Its Application Insights traces showed a PermissionError: Foundry sets HOME to a folder the container’s user can’t write to. One writable work folder fixed it. A cloud sandbox slower than a laptop. With 2 vCPUs, a brand-new game took about 12.5 minutes to build and test, so we raised the agent’s budget to 15 minutes. That is too long for a live demo, so the demo opens a game Claude Code built earlier. Deploy surprises. Azure rejects deployment names that contain “Microsoft,” and Decision-1 is offered only as DataZoneStandard.
Accomplishments that we're proud of
We built a whole ecosystem in one weekend, not a single demo screen: Kite OS for the school Chromebook, a kid-safe phone that installs on Android, a parent console and a school counselor console, all running on one brain in Azure. A kid holds a button and talks, and Kite answers out loud at her grade level. We measure the reading level of every answer in code instead of trusting the model. Slide the grade from 3 to 11 and the same question gets a different voice, a different depth and a different sky. We're proudest of two decisions. The first is safety routing: an abuse disclosure goes only to the school counselor, never the parent, because the parent might be the one causing harm. Claude raised that during design, and our safety checks prove the parent never sees those conversations. The second is trusting an AI agent to build for a child. When Maya asks for a movie or a game, Claude Code running Opus 5.5 in an Azure AI Foundry sandbox writes it for her topic and grade, plays it in a headless browser, studies its own screenshots and fixes what it sees, all before Kite shows it.
What we learned
The problem is bigger than homework help. Kids ask their hardest questions at the worst moments, every September a new teacher starts from zero, and no app remembers how a child learns from one year to the next. The hardware and the channel already exist: most of the nearly 50 million US public school students carry a school-issued Chromebook. Districts deploy managed apps through the Google Admin console rather than replacing operating systems, so we built Kite as an AI-native shell that districts can install. Looking at the alternatives showed us the gap: tutors don't follow a child across the years, and safe phones don't teach.
Trust turned out to be the product. Parents want visibility without surveillance, and schools answer to COPPA and FERPA. The hardest safety case also breaks the obvious design: the safe adult isn't always the parent, so disclosures go to a mandated reporter at school
On the technical side, our biggest lesson was to let a decision model decide and let Claude talk. Microsoft-Decision-1 gives every routing and safety call a calibrated probability
What's next for Kite
Next, we pilot Kite with one classroom and its families, adding consent flows, a teacher view and standards mapping, and fixing what our own scores flag, starting with answers that read too simply for older kids. After that, we want Kite's memory and a smaller per-grade model running on the device itself, on Chromebook Plus chips and a dedicated kid-safe handheld, so a child's companion keeps working even offline.
Built With
- azure
- claude
- docker
- elevenlabs
- microsoft-decision-1
- python
- typescript
Log in or sign up for Devpost to join the conversation.