When my youngest daughter, Selena, was walking down the hall tonight, singing “I want to do a Wanderly story, I want to do a Wanderly story!” I knew it was time to write this post.
Since the new year, I’ve been heads down building a major update to Wanderly. There were so many things that I’d been wanting to do, but I was “eating my vegetables” a lot last year: getting Wanderly ported to an app, trying out a new monetization model, and trying to monetize during the holiday season. So, for Q1 this year, I decided to do all the things I’d been wanting to do1. My guiding light was, “I want my daughters to love it.”
About three weeks ago, I released a new version of Wanderly that met my goal: Alanna (6) binged 15 stories during quiet time, and Selena (3) is now requesting a Wanderly story every night. My husband even prefers reading Wanderly stories at bedtime. Some of my testers even reported spending multiple hours with their kids.
Here are all the major things I've built, along with the reasons why I built them. 🙂
The Bookshelf
Almost 1.5 years ago, a friend of mine said, “When I choose stories for my kid, I look at the bookshelf to see what jumps out.” I didn’t know what to build then, but the insight made sense: people read things they connect with. And with the primary entry point for a Wanderly story being a genre, rather than a specific storyline, there wasn’t an opportunity to hook someone into starting a story.
In addition to failing to hook people, my old approach had limitations:
I couldn’t do content marketing (or if I did, it would get stale pretty quickly)
Story choices felt arbitrary and sometimes caused the story to veer off track
I didn’t have a great way to feed facts into the educational stories
Several users said they “didn’t really know what they were buying.”
I had a concept brewing in my head for the last year or so, and I finally had the chance to bring it to life: a whole new approach to Wanderly’s story engine that allows me to craft a narrative. I can come up with a story premise, ensure the choices in each story are meaningful and fun, and craft what should happen on each page.
Because I have more control over each narrative and choice, I can create stories tailored to the moment (this week, it was Earth Day and Mother’s Day stories), and I can collaborate with experts to enrich each one. For instance, I worked with an early childhood therapist on creating Feelings at the Festival: a child selects appropriate strategies for managing big feelings, but can also choose a story backdrop that suits them (e.g., they can opt for an ice kingdom if they are in their Frozen era). I’m also collaborating with some special education teachers to develop stories for children who are working on acquiring new skills.
Each story becomes a book cover on my digital bookshelf in Wanderly. I can add to and update it every week, which gives me opportunities for content marketing and SEO. And kids love looking at all the pictures to choose which story to read (and adults too!).
Character Library
Wanderly now supports characters!
The previous version of Wanderly gave each child their own avatar, but the system had 2 limitations: 1) only the child could be the protagonist, and 2) companions had to be manually added each time and couldn’t be shown in the page illustration. Many users complained about #2, and Alanna had found a loophole to make different protagonists.
This version of Wanderly allows kids to create a whole suite of characters that can be reused across stories (the time-to-start a story has dropped significantly), and I have also added a ‘Characters By Wanderly’ section to help with modeling. Alanna was so excited that I finally fulfilled her feature request, and Selena creates new characters every session.
Free-text Input
I shied away from the idea of free-text input in Wanderly for a long time; Google taught me that as soon as you give people free text, they find awful things to do with it. But Alanna was consistently frustrated by being forced to pick only one of three choices on each page, and I realized I was being too conservative. Wanderly is designed for parents and young children to use privately, which reduces the likelihood of causing problems. I decided to put in some safeguards and give it a try, knowing I could always turn it off if needed.
So I added free-text input: For many stories, I allow readers to write in details that shape the entire story, such as specific names or locations. I added a “✍️ Write your own” option for some story choices within each story. I even added a free text field for character creation, so users could write in non-standard behaviors, such as sneezing sparkles or loving to dance. And just to be safe, I also added a filter that will stop anyone from writing obviously bad things.
This is one of my favorite features of the new update. I think is really showcases the personalization and value of generative AI stories, and adding free-text input has allowed me to have some really cute moments in some of the stories I’ve told with my children (for instance, in the High, Low, Buffalo story, it creates a poem based on moments from my daughter’s day, and in The Kindness Express, it’s been fun to watch Alanna come up with her own ideas to brighten a sad unicorn princess’s birthday).
An expanded image library
Of all the features I’ve wanted to build, this one was on the back burner the longest. When I first started building with AI a little over two years ago, there was a lot of discussion about embeddings (to be honest, it took me a while to understand them, so if you’re curious, here’s a good guide). As context windows grew longer and longer, retrieving relevant text snippets using embeddings became less and less important, but I always had an intuition that embeddings could be powerful for image matching.
I’ve finally built the system I dreamed about2. This system leverages a library of parent-reviewed images to pair images with text from stories instantly. Unlike my last system, which asked the LLM to pair image and story text given a finite set of images (and the context window was already starting to strain), this new system allows me to go up to at least 1M images before I start to encounter any latency or drop in matching quality (I hope). I’m now able to add a lot more one-off images that enhance the magic of Wanderly’s story system without any trade-offs, which also pairs well with free-text input to create a little serendipity.
This is the brand-new Wanderly! I'm super excited about it and what it enables, but it still needs improving. For instance, in the spirit of being scrappy, I launched without any investment into onboarding. I wanted to let it bake and get feedback from users before I started building in the dark. Additionally:
I haven't implemented many “top of funnel” optimizations, such as conversion tracking.
I'm still learning what makes a good story, and the bookshelf is still only about 20 stories, whereas competing apps have hundreds.
I just received samples from a new publishing partner who will print a high-quality book at a much lower price and in softcover.
Lots to keep me busy. ☺️
In the meantime, as part of my content strategy, I would greatly appreciate it if you could subscribe to any of my content channels (Instagram, TikTok, YouTube, Facebook, and Threads) and interact with my posts (likes are great, comments are amazing). I'm trying to post every day to teach the algorithm that it should promote my content, and I’m learning how to create content; it’s a lot harder for me than I anticipated! I'd welcome any tips! 🙏.
Well, almost… 🙂
Just in time for OpenAI to announce an absolutely phenomenal, much more predictable image generation system, which I’m looking forward to incorporating in new ways.
Very impressive changes. Love that you use your daughters' reactions as an important metric ... bringing joy of stories, reading, and the passion for creation!