Inspiration:
Kids don't tell stories in a straight line. They circle back, change their minds, put the volcano next to grandma's kitchen. Most tools quietly clean all of that up, and in doing so they overwrite the child. Abra was built on the opposite principle: a child's nonlinear, unpolished way of telling a story is the point, not a problem to fix, especially for kids who think a little differently.
What it does:
A child speaks a story out loud, no reading or writing needed, and Abra brings it to life as an illustrated, narrated storybook. It preserves the child's exact words, including the repetitions and the changes of mind that carry how the child actually feels the story. Every character stays visually consistent from page to page, so it reads like a real book. A child can flip through it as a storybook or switch to a comic-book layout. Two people, a parent and child, or a grandparent far away, can co-write a single story together, each adding their part. And a full safety layer runs underneath: it blocks anything harmful, screens every generated page, and gently flags concerning content to a parent without ever diagnosing the child or interrupting their fun.
How we built it:
Abra is an agent pipeline. A Storyteller agent turns the raw spoken transcript into structured pages under eight structure-preservation rules that stop it from tidying the child's language. A Guardian safety system runs three non-bypassable lanes: a hard input block, a parallel flag-to-parent lane, and an output screen on every generated page. A Character Friend agent writes a canonical description of each character, generates one reference image per character, and passes that reference as image input on every page the character appears, which is what keeps the same character looking the same across the whole story. Illustrations are generated in a deliberately art-directed ink-and-watercolor style defined by an injected style specification, so the art reads as hand-made rather than generic. The whole pipeline was built test-first: a structure-preservation eval suite and a fourteen-case safety suite, both validated live.
Challenges we ran into:
The hardest one was a tension built into the product itself. The Storyteller correctly preserves a child saying "up and up and up and up," but rendered literally that produced four copies of the character on the page. The fix was to translate repetition into motion for a single figure, a rising trail instead of clones, so the child's rhythm survives without breaking the illustration. Character consistency across a full story was the other hard problem, solved with per-character reference-image conditioning.
Accomplishments we're proud of:
The safety system passes fourteen live cases, including the hard ones: it lets normal imaginative play through (a cowboy with a gun) while flagging genuinely concerning content in ordinary words, and it describes rather than diagnoses. And the art went from generic to genuinely hand-drawn and character-consistent, which is what makes it feel like a keepsake instead of a tech demo.
What we learned:
That the interesting engineering in a children's app is restraint. The whole system is built to not do the thing every model wants to do by default, which is smooth, average, and tidy.
What's next:
A tap-to-edit layer so a child can revise their own story, an early-literacy mode that highlights sight words in the child's own story, and, the direction that matters most, a prompt-selection front door so a nonverbal or minimally-verbal child can author a story by choosing instead of speaking. Each of these has an expert (a preschool director, a speech-language pathologist) already in the conversation.
Log in or sign up for Devpost to join the conversation.