StorySpark: Turning Doodles into Magical Bedtime Narratives
StorySpark lets kids and families:
- Snap a photo of a drawing and instantly generate a unique, AI-powered story inspired by the artwork.
- Listen to stories with high-quality, expressive audio narration.
- Share stories with friends and family using a unique code.
- Discover, collect, and favorite stories from the community and from the official Story Spark team.
Our Inspiration: The Silent Storytellers
Every child's drawing is a portal to a world of imagination. As parents and friends, we saw these vibrant, untold stories taped to refrigerators and pinned on walls, and we asked ourselves a simple question: "What if we could bring them to life?" StorySpark is our answer. It's a mobile app that uses the power of AI to transform a child's physical drawing into a personalized, unique bedtime story, complete with professional-quality audio narration. It’s a tool designed to close the loop between a child's creativity and the shared, magical experience of storytime.
How We Built It: The Tech Behind the Magic
To bring this vision to life, we chose a modern and agile tech stack that allowed us to innovate quickly and work together seamlessly.
- Frontend & Logic: We used bolt.new to rapidly prototype and build the application's core logic. Its seamless, all-in-one development environment was crucial for our speed and allowed us to "vibe code" effectively.
- Backend & Authentication: Supabase was our go-to for all backend services. We leveraged its powerful and easy-to-implement authentication to manage user accounts securely. Furthermore, we used Supabase Storage to safely store all the precious drawings and the generated audio files, ensuring every story is saved and accessible.
- AI Story & Voice Generation: The heart of the magic lies in AI. For the enchanting audio narration, we integrated the ElevenLabs API. Its incredibly realistic and emotive text-to-speech capabilities are what turn a simple text story into a captivating audiobook experience, making the story truly come alive.
What We Learned
This project was a tremendous learning journey for our team. Key takeaways include:
- Rapid, Collaborative Development: We learned how to effectively build and deploy a full-stack application in a remarkably short time frame using bolt.new.
- The Power of BaaS (Backend-as-a-Service): Working with Supabase taught us the immense value of abstracting away complex backend infrastructure. It allowed us to focus entirely on the user experience while relying on a robust, scalable solution for auth and storage.
- Harnessing Generative AI: Integrating ElevenLabs was a deep dive into the practical application of high-quality voice synthesis. We learned to manage asynchronous API calls (since audio generation takes time), handle API usage limits, and design a user interface that clearly communicates the generation process to the user.
Challenges We Faced and How We Overcame Them
Our biggest challenge wasn't a specific bug, but the logistics of effective team collaboration in bolt.new. Working on a fast-moving project required a new level of coordination to ensure we were all on the same page, writing consistent code, and avoiding frustrating merge conflicts.
We turned this challenge into a strength by adopting a suite of modern collaborative tools. We used external tool, an AI-powered code editor, which allowed us to pair-program and work together in the same codebase in real-time. This, combined with the collaborative nature of bolt.new, enabled us to debug, write, and deploy code synchronously. This workflow minimized friction and dramatically increased our productivity.
StorySpark is more than just an app to us; it’s a tool for connection. It empowers children by showing them their creativity has immense value and gives families a new, meaningful way to bond over stories they created together. We are incredibly proud of what we've built and excited about the countless magical stories yet to be sparked.
Built With
- bolt.new
- elevenlabs
- expo-av
- expo-router
- expo.io
- fish.audio
- openrouter
- react-native
- supabase

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