Kyle Kesterson
Case study · Demystified.AI · 2020–2026

The prototyping practice.

Embedded consulting: a team brings a question they are stuck on, and it comes back as a tested artifact within days to weeks. Three recent builds below — paper and projection, tangible robots, voice in a plush. Every one was put in front of kids, and every one fed a real product decision.

3prototypes, three media 38kids across 12 test rounds 7–16days, sketch to first kid test
Workshop bench: opened plush fox with a Pi inside, a dome robot, wooden tiles, projector on the wall the bench · all three builds
Build 01

Scribble Engine

Draw a creature on paper. It climbs off the page onto the wall and meets everyone else's. Vision, generative rigging, a projector, and floor-to-ceiling paper.

Paper → projection
The question

If kids make the content in the world instead of us, do they play longer? Do they play together?

Time budget → actual

2 wks → 8 days

to first kid test
Asked by

A studio exploring user-generated worlds for 5 to 9 year olds.

Decision it fed

Kid-made content pipeline vs. authored content with customization.

The sketch

A sheet of printer paper on a cafe table: a scribbled monster, an arrow to a wall, the same monster on the wall with two hasty legs, and "it walks over to Maya's monster and they argue."

The path chosen
A

Tablet drawing app; creatures live on the tablet. Rejected — a tablet is a single-kid device.

B

Chosen: paper and marker, phone camera, projector on a wall. Paper is the interface every kid already knows, and a wall is shared by default.

C

AR headsets. Rejected on cost, latency, and no shared view.

Ballpoint sketch on printer paper: monster, arrow, wall, note fig. 01 · the sketch, printer paper, dated
Laptop, phone on books, projector throwing a crayon monster on the wall v1 · phone on books, laptop did the work
Laser-cut plywood scan tray with red arcade button v4 scan station next to v3, which let paper curl
The build — four versions
v1

Phone photo, laptop segments the drawing, drops it on the wall as a static sprite. Kids could see their thing. Enough for round 1.

v2

Auto-rigging. A vision model finds "legs" and "head," a generic skeleton animates it. Ugly walk cycles were funnier than good ones. We kept the ugly.

v3

Creatures notice each other: approach, bump, chase, hide. A small LLM writes a one-line reaction when two meet ("your bird is scared of my toaster").

v4

Scan station: laser-cut plywood tray, phone on an arm, one big red arcade button. Kids run it themselves.

Physical setup: projector on a tripod, floor-to-ceiling paper on the wall so kids draw ground and obstacles directly. The loop: button press → segment → rig → drop into the Unity world in under 10 seconds, or kids leave.

The play test — 19 kids · 5 rounds · 4 weeks shot from behind, faces never on camera
Round 14 kids · 5–8 · living room

Static sprites only. 40 minutes at the wall. Within a minute kids were drawing for the wall. The paper stopped mattering.

Round 25 kids · 6–9

Rigged walking. The rig failed on anything without limbs. Kids started drawing legs onto suns and cars to make them walk.

Round 33 kids · 4–6

This age wanted their creature to do something to another creature. Added bump and chase.

Round 44 kids · 7–11

Older kids drew "traps" on the wall paper. Projected creatures ignored them. Broke the illusion. Fixed in v4 by scanning the wall paper as terrain.

Round 53 kids · 30 min · filmed

Unsupervised. 26 drawings. Two kids merged their creatures by drawing a third one "that is both."

Four kids from behind at a paper wall, projected creatures walking round 1 · four kids, one wall, shot from behind
Child's hand adding crayon legs to a drawing of a sun and a car round 2 · legs on the sun so it can walk
What changed
  • The client stopped funding a customization system for authored characters and funded a kid-made-content pipeline instead.
  • The loop was other kids seeing it. Animation quality barely registered, so rendering fidelity got deprioritized.
  • Constraint set: any kid input appears in the world in under 10 seconds.

Next: two walls in two rooms, networked. Do creatures traveling between rooms make kids visit each other?

Stack

Jetson Orin Nano · on-device segmentation + VLM · generic 2D skeleton rig · Unity · local LLM · short-throw projector · laser-cut ply · arcade button

My role

Everything technical and physical. A collaborator did the sound.

Build 02

Cardbots

Three palm-sized dome robots programmed by laying wooden cards on the floor. No screen anywhere in it. Tangible coding for kids who cannot read yet. The "hug" card carried the whole thing.

Tangible robots
The question

Can kids who cannot read yet program a robot, and does it stay play or turn into a lesson?

Time budget → actual

3 wks → 16 days

first test · 5 weeks over 3 versions
The headline number

24 min

median floor time · 19 min pre-readers, 31 for 6–8
Decision it fed

Does tangible programming belong in a pre-reader line, or get pushed to 8+?

The sketch

Printer paper on the kitchen counter: three boxes in a row (arrow, spin, heart) and a lopsided circle robot at the end. "it reads the row and does the row."

The path chosen
A

App with drag-and-drop blocks and a Bluetooth bot. Rejected — screen dependency, and the market has it already.

B

Chosen: laser-cut birch tiles with NFC tags, a bot that reads them in sequence as it drives over them. Kids lay the program out on the floor.

C

Ceiling camera reading card layouts. Held as the v3 idea.

Twelve verbs, three bots
forward · spin · blink · sing

understood by 4-year-olds

hug

drives to another bot — the card that mattered

repeat

meant nothing until it was a loop of footprints · 5+

wait

read as broken — cut

Row of wooden icon tiles on a floor with three dome robots fig. 02 · the program is on the floor
Bench with three bots open and closed, tiles, NFC stickers, calipers ESP32 · two N20 motors · NFC on the belly
Cracked v1 bot next to clean v3 bot v1 drove off the table in 8 minutes. keep the corpse.
The play test

4 sessions, 11 kids, ages 4–8, in a home and a friend's preschool after hours. Protocol: bots and cards on the floor, no instructions. Observer notes every minute. A session ends when the kid leaves.

Median time on the floor: 24 minutes. Pre-readers 4–5: 19 minutes. Older kids: 31 minutes — and they started writing programs for each other to guess.

Surprise: kids built programs whose only point was getting bots to meet. Broke: "wait" read as broken, so it was removed. "Repeat" landed with 5-year-olds and up.

Three kids from above and behind laying tiles on a rug, bots driving session 3 · preschool rug, after hours, shot from behind
What changed
  • Tangible programming stayed on the pre-reader roadmap with a scope note: social verbs first, logic verbs later.
  • The card icon set became its own workstream with an illustrator. Three generations of "repeat" before a 4-year-old got it.
  • Age split defined by evidence: 4–5 gets 6 cards, 6–8 gets all 12.
  • The behavior-authoring web tool — a designer changes what a card does live during a test — took 3 hours and was the highest-leverage part of the kit.

Next: ceiling camera so a layout is read without the bot driving over it. Then kids record their own sound for the "sing" card.

Three generations of the repeat icon on wooden tiles with a sticky note repeat = footprints. 4yo got it.
Stack

ESP32 · PN532 NFC · N20 gear motors · WS2812 face · PLA three-part shell · laser-cut birch tiles · ESP-NOW bot-to-bot · web UI over websockets

Role: all hardware and firmware; icons v1–v2 by me, illustrator for v3; sessions run by me, notes by a second adult.

Build 03

Yes-And

A voice character inside a thrift-store plush fox that plays improv with a kid, with the guardrails a parent would actually want. Squeeze the paw to talk. Parent watches the transcript from the doorway.

Voice in a plush
The question

Can an AI character do improv with a young kid in a way that keeps the kid leading — and would a parent leave the room?

Time budget → actual

10 days → 7 days

to first kid test
The headline number

4 of 6

parents would leave the room — because of the transcript page
Decision it fed

Is a conversational character viable for under-7s, or parked until models and policy mature?

The sketch

A lumpy fox with "spkr" scrawled on its chest, a speech bubble that says "and THEN what happened?", and a stick-figure parent in a doorway holding a phone. The parent in the doorway was in the sketch from the start; it ended up deciding the project.

The path chosen
A

Tablet app with an animated character. Rejected — a screen pulls kids into watching. We needed talking.

B

Chosen: speaker and mic inside a thrift-store plush, brain on a Raspberry Pi in the wooden base. Kids already talk to plush toys.

C

Full custom toy. Later.

The rules the character lives by
Squeeze to talk

the mic is off until the paw is squeezed; kids got it instantly

Yes, and

one question, then a statement; never end the scene

Never introduce fear

nothing scary the kid did not bring in

Nothing stored

no cloud audio, no memory across sessions by default

Plush fox on a wooden base on a bedroom rug, phone with transcript beside it fig. 03 · the fox, the base, the parent's phone
Opened plush fox with Pi, mic array, speaker, battery Pi 5 · mic array · speaker · squeeze sensor in the paw
Ballpoint sketch: fox with spkr, speech bubble, parent in doorway the sketch · parent in the doorway from day one
The play test — 8 kids · 6 parents · 3 rounds v1 latency 4 s, kids lost the thread · v2 streaming + filler sounds, 1.4 s perceived
Round 1kids · 4–8

Kids led scenes fine. The character asked two questions in a row and kids stalled. Prompt fix: one question, then a statement.

Round 26 parents · doorway

4 of 6 said they would leave the room — every one pointed at the transcript page rather than the character. 2 said no under any condition; both cited privacy, neither mentioned content.

Round 35-year-old · 14 min

A 14-minute scene about a bakery for dogs. The character never introduced a plot point. The kid did all of it. Broke: 4-year-olds squeezed the paw and said nothing. Added a gentle prompt after 3 seconds of silence.

Child from behind holding the plush fox, parent in the doorway on a phone round 3 · kid leads, parent in the doorway
Phone in hand showing Yes-And live transcript with END SCENE button the parent surface · built in an afternoon
Whiteboard table: round, n, broke, fix debrief · round / n / broke / fix
What changed
  • The character moved forward for 5–8 with one hard rule: the parent transcript is a launch requirement.
  • Under-5 parked. Safety was fine; stamina was the problem — they do not sustain a scene without an adult.
  • The team wrote its first kid-AI design principles from this test's notes.

Next: two plushes, two kids, one scene. Can the character referee without taking over?

Stack

Raspberry Pi 5 · ReSpeaker mic array · on-device VAD · streaming STT + TTS · LLM with a strict improv system prompt · squeeze sensor · thrift-store plush · one-page web app for parents

My role

Everything. A voice-actor friend recorded the fallback lines.

Next — Teaching