AWS Builder Center

Storybook: What Game of Thrones Taught Me About Learning — Built for the H0: Hack the Zero Stack Hackathon

I built a kids' learning app around a simple observation: I can binge Game of Thrones for six hours but couldn't finish a history textbook chapter same content, different format, completely different attention. Storybook uses AI to build interactive lessons inside whatever world a child is already obsessed with, because opted-in attention is the most powerful thing in learning.

There's a version of me that can watch Game of Thrones for six hours straight without blinking. Same guy who couldn't get through a single chapter of a history textbook in school. Same wars, same politics, same betrayals — just one format locked me in completely and the other made me want to disappear.
I've been thinking about why that is for a long time. And it's the reason I built Storybook.
The honest answer isn't that I'm lazy or that history is boring. It's that the textbook never gave me a reason to care. It opened with a date, a name, a battle — no stakes, no characters, no reason I should be emotionally invested in what happened next. Game of Thrones opens with winter coming and people dying and everything feeling urgent. One of those things made me want to know more. The other made me want to close the book.
Learning researchers have a name for this. They call it interest-based learning, and the research is pretty clear that interest isn't just nice to have — it's a core driver of how well people actually absorb and retain things. Which makes the way we teach children especially strange, because most of it is designed the exact opposite way: here's the material, adapt yourself to it.
Storybook is my attempt to flip that around for kids.
The idea is simple to say and genuinely hard to build: instead of asking a child to leave behind the thing they're obsessed with in order to learn, you bring the learning into the obsession. A kid who is locked in on dinosaurs shouldn't have to abandon that world to learn about ecosystems. A kid who is deep into fantasy should be able to practice reading comprehension through a dragon rescue. The subject matter is just a door. The interest is what gets them to walk through it.
So I built a system that lets a parent describe a child's interest, set a learning goal, and have an AI construct an actual interactive lesson around it. Not a worksheet with a dragon drawn in the corner — a story the child moves through, making choices, answering questions, hitting moments where the lesson lands naturally inside the narrative. The lesson feels built for them because it was.
The technical side of this turned out to be much harder than generating a nice paragraph, which is the thing AI makes look deceptively easy.

The first problem was structure.

An interesting piece of text is not the same thing as a playable lesson. A lesson needs scenes, decisions, questions with correct answers, feedback, a logical arc with a satisfying ending. Early on I realized that if I just asked the AI to "write a lesson about fractions for a dinosaur-loving six-year-old," I'd get something that read well but couldn't actually be rendered into an interactive experience. The app had no reliable structure to hook into.
So I built the generation system around typed blocks — story scenes, multiple-choice questions, fill-in-the-blank prompts, math interactions, hints, completion states. Every lesson is a sequence of these. Specialist agents don't write prose; they call structured tools to build the lesson block by block and then validate the result before it gets stored. That way what comes out is always something the app can actually play, not just something that looks plausible.

The second problem was data.

A lesson isn't just content — it's a thing that needs to persist across sessions, accumulate progress, be schedulable, be shareable, be editable.
I used DynamoDB because the access patterns map cleanly to what a learning app actually does:
many small reads and writes, user-scoped, event-like. A child logs a progress event every few minutes. A parent checks their lesson library. A lesson gets published and someone else imports it. None of that needs a relational database. It needs something that stays fast under that kind of scattered, high-volume load.

The third problem was sharing.

Once a good lesson exists, it shouldn't be locked inside one family's account. So I built an Archive — a public catalog where parents can publish lessons, other families can discover and import them, and the whole thing slowly becomes a library of interest-led learning that nobody had to build manually. Publishing is opt-in, parents control what gets shared, and the data model treats sharing as a first-class concept rather than an afterthought.
The thing I keep coming back to, though, is not the architecture. It's the original insight, which I think about almost every time I'm deep in something I chose to be in.
When I'm in a Game of Thrones binge, I'm not just passively absorbing content. I'm tracking character motivations, predicting consequences, building mental models of who controls what and why it matters. That's cognitive work. Real cognitive work, the kind that schools spend years trying to get kids to do voluntarily. The difference is I opted in. Nobody assigned it to me.
Storybook can't manufacture genuine interest out of nothing. If a kid hates dinosaurs, a dinosaur lesson won't help. But if you can meet them inside a world they already care about, you get a version of that same opted-in attention. You get a child who wants to find out what happens next, and who will answer a fraction problem to get there.
That's a leverage point worth building a product around.
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article