Inspiration

We believe it is critical that children learn and engage with the world when they are young. In many cases, children's books are the best way to do this. However, buying children's books is expensive and it is often hard to find exactly what children want. This is why we created Story Genie, an AI enhanced children's story app. Two themes guided our development for this app.

  • Stories should be engaging and customized to the child
  • Stories should teach relevant lessons and morals

These goals lead us to create an app that both lets a child pick topics that they want to learn about, and also teaches valuable lessons to children. The stories are engaging and the images are beautiful, creating an environment where any child can explore the world.

What it does

The app allows a parent or child to select a category that they care about. Multiple categories can be selected as well. Afterwards, the app will feed it into a LLM that will generate a story, along with an image generator that will generate engaging pictures. Afterwards, a child can click through the story, and dive into a new world.

How we built it

We built it using Xcode, Swift, Python, FastAPI, and the OpenAI API. On the front end, SwiftUI was used to build the iOS app. On the backend, Python and FastAPI were used to call the Open AI api to generate stories and create images.

Challenges we ran into

One challenging aspect was efficiently using the OpenAI credits. We had to make sure images worked well with dummy images before we could move onto real images since they were most expensive to generate. In addition, we needed to engineer prompts in such a way so that the images are cohesive.

Accomplishments that we're proud of

Using OpenAI API for the first time. Using Python & FastAPI to build an API for the first time.

What we learned

How to use SwiftUI and how to better prompt engineer AI requests

What's next for Tell Me A Story

Next up, we'd want to have further customizability of how the story looks, perhaps the art style or main character, etc.

Built With

Share this project:

Updates

Submission history