Inspiration

A lot of educational apps start with a lesson and then try to make it fun. I wanted to try the opposite.

Kids naturally draw before they can fully explain their ideas. A child might draw a dragon, a rocket, or a strange-looking animal and already have a story in their head. That drawing is something they're genuinely interested in, so it felt like a good place to begin learning.

That became the idea behind Asobi: instead of giving every child the same lesson, let their own imagination decide what they learn.

What it does

Asobi turns a child's drawing into a personalized learning experience.

The child draws anything they want. The app analyzes the drawing, understands the main objects and visual details, and creates a lesson around what was actually drawn.

If a child draws a dragon, the lesson might become a counting exercise. If they draw a rocket, it could become a space-themed reading lesson. Every lesson includes a custom illustration, narration, and questions that stay connected to the original drawing instead of feeling random.

The goal isn't just to generate content—it's to make learning feel like a continuation of the child's own imagination.

How we built it

I built Asobi with Next.js and TypeScript.

OpenAI's vision capabilities are used to understand each drawing and extract structured information instead of simply describing the image. That structured analysis is then passed into a lesson planner, which creates a single age-appropriate learning objective.

From there, another step generates an educational illustration that keeps the important visual identity of the child's drawing so the lesson still feels personal.

Narration is generated with OpenAI's text-to-speech models, and temporary lesson state is managed in the browser so children can move naturally through the experience without needing an account.

Challenges we ran into

The biggest challenge wasn't generating lessons it was making them feel connected to the drawing.

Early versions produced lessons that were technically correct but sometimes ignored the child's original artwork. The generated images also looked too generic.

To solve that, I changed the pipeline so the visual identity of the drawing things like colors, accessories, expressions, and composition is preserved throughout lesson generation. That made the illustrations and questions feel much more like they belonged to the drawing the child actually created.

Another challenge was keeping lessons focused. Instead of covering multiple subjects at once, each lesson now concentrates on one clear learning objective so it's easier for children to follow.

What we learned

This project changed how I think about AI in education.

The most interesting part wasn't having AI create educational content—it was using AI to understand a child's creativity first, then building learning around it.

That small shift makes the experience feel much more personal. Every drawing leads somewhere different, which means every child gets a lesson that's unique to what they imagined.

Built With

Share this project:

Updates