Inspiration

Ai generated childrens' books were in many peoples' eyes not the greatest application of ai. But dismissing a technology entirely is not the way my team and I go by. We found a way to fuse the best of both worlds, the human creativity and ai's capabilities of creation.

What it does

Our app offers the creation of short stories and tales that can be created entirely without ai but can also be complemented by ai piece by piece.

How we built it

We used Github Copilot Cli using the Gemini 3 Pro model to catch nasty bugs and help us tackle difficult coding challenges. We also used Xcode to develop a native, intuitive user interface, containerised our main backend (fairydraw-api) using Docker and integrated Redis with Memorystore. We used LiveKit with Gemini LiveApi for real-time voice features. For backend development we used Antigravity.

Challenges we ran into

Nondeterminism of ai proved to be quite the challenge in this particular project. Also learning how to use Google Cloud was very difficult as we had no prior experience.

Accomplishments that we're proud of

Realising a new and innovative solution the problem statement while learning a lot on the way there.

What we learned

We learned how to leverage the power of ai agents and their development with Google LiveApi. We also learned how to build an automated Ci/CD pipeline for hosting on Google Cloud.

What's next for Fairydraw

Further development and possible deployment to the Apple Store and upon positive feedback expanding to the android platform.

Built With

Share this project:

Updates

posted an update

Just wanted to add something about Robustness: To avoid hallucinations we have implemented a brain-like shared memory as one official story notebook everyone must read

  • Every new event (user edit, frame generated, character change, voice turn) is written there.
  • Before an agent replies, backend rebuilds a fresh snapshot from that notebook.
  • So agents don’t rely on fuzzy short-term memory; they use the same current facts.
  • It also tracks version IDs (brain_version), so updates are tied to a specific story state.
  • If something isn’t in the notebook, agents are avoiding it. -> Result: fewer contradictions, fewer “new fake facts,” better continuity across all agents, agents being aware of the state of other agents.

There is also, when finishing a tale, a amazing narrator VoiceOver and VoiceOver Script being generated which can be played back, which takes into account the brain-like shared memory and has a snapshot of it for every frame, to really replicate a robust and fulfilling narrated story telling

P.S: We are aware of a duplicated video of me in the video, please ignore it :) Thanks to the organizers for this great opportunity!

Log in or sign up for Devpost to join the conversation.