Say what happens next, and the machine prints the next comic panel for you to color in. The roll keeps growing along the wall.
Press the big button and the demo “says” the next line of a story (in the real machine the child just talks). Watch what the Gateway on the Mac does with it, then grab a crayon and click any shape on the roll to color it in.
{ }The demo prints in under a second; the real machine needs 5–8 s from sentence to panel. The outlines here are a tiny stand-in for the parent-approved library of about 300.
My 9-year-old son holds the button and says: “Biscuit the dog rides a skateboard to the sea.” The machine answers “Okay, Biscuit is on his way!”, and about six seconds later a panel slides out: a dog on a skateboard, waves, and a bubble that says “To the sea, hooray!” He colors it in and tapes it to the wall. The next day he says “And then a crab chases him.” The machine knows what happened in the earlier panels and picks up the story with the same dog on the same skateboard, now chased by a crab.
Every panel carries on from yesterday’s with the same characters, so a few weeks of evenings turn into a strip running along the wall. Printing takes five minutes, coloring takes twenty, and the child comes back the next day to find out what happens to Biscuit, because they are the one who decides.
Claude composes each scene from a library of outlines that a parent generated once on their own account and went through: it returns {characters:[{sprite_id, x, y, scale, flip}], background_id, bubble}, and code checks that every sprite_id exists before it renders the panel.
Stickerbox prints single stickers; here the story continues from panel to panel with the same characters, and the physical roll remembers the plot. Because the child never generates an image, only arranges outlines that were checked in advance, it also stays within what image-model providers allow for kids.
Hardware is a weekend. The outline library and the renderer take about a week.
| Part | What for | Price (CZK) |
|---|---|---|
| ESP32-S3-DEVKit (LaskaKit) | brain, talks to the Gateway over Wi-Fi | 448 |
| INMP441 I2S microphone | hears the child while the button is held | 98 |
| MAX98357 I2S amplifier | the machine’s voice | 98 |
| 40 mm speaker | the machine’s voice | 89 |
| Arcade button | push-to-talk | ~40 estimate |
| CSN-A2 58 mm thermal printer | prints the panels | 928 |
| 9 V/2 A power supply | for the printer | ~150 estimate |
| Total | plus paper: BPA-free thermal rolls, about 100 CZK for 10 (estimate) | ~1,850 (about €75) |
Picks outlines from the library, places them, writes the speech bubble and keeps the story going. When a character is missing from the library, it picks the closest one (“wizard” becomes the magician).
Checks that every outline exists, renders the panel, dithers it for the printer and prints. Nothing outside the library can be printed. The “random panel” button works with no model at all.
The child’s voice is transcribed by whisper.cpp on the Mac and never leaves the house; only the text goes to Claude. The reply is spoken by Piper, also locally. Everything printed comes from the outline library, so nothing unsuitable can come out. Without a network the “random panel” button still composes scenes from the library in code. BPA-free thermal paper, and the printer is covered because its head gets hot. One panel costs about 0.1 CZK.
The hardware: body, button, microphone, speaker and printer.
The outline library (about 300 animals, vehicles and places) and the renderer with dithering.
Nothing here has been built yet; the toy is still an idea.
One of sixteen finalist toy ideas in the Toy Workshop, generated by AI agents, picked by a dad.
Made by Ondra Malacka with Claude agents · malacka.cz