🌙 Bedtime Stories – Personalized Story Generator for Kids

A magical web app that creates unique bedtime stories for children, tailored to their age, interests, environment, and values—designed for imagination, bonding, and learning.

✨ Inspiration

Bedtime is one of the most intimate moments between parents and children. I wanted to turn that moment into something truly magical—beyond static storybooks. Inspired by how stories shape identity and imagination, I built a tool that empowers families to co-create meaningful tales that reflect their child’s personality and values.

💡 What it does

Bedtime Stories is an interactive web app that allows users to:

  • Select the child’s age and gender
  • Choose or type in interests (e.g. animals, robots, fairy tales)
  • Pick from 20+ themes (e.g. superheroes, princesses, dragons…)
  • Choose from 20+ locations (e.g. enchanted forest, underwater city…)
  • Select or enter a key object (e.g. a magic lamp, a key, a mushroom…)
  • Pick a virtue to teach (e.g. courage, kindness, patience…)
  • Define the tone (funny, serious, poetic, calming…)
  • Allow user to add custom guidelines.

Once all selections are made, the user clicks a single button:
➡️ Generate Story — which sends all the details to a generative AI, returning a custom-written story in seconds.

The result? A completely original, kid-appropriate, emotionally resonant bedtime story tailored for one child, at one moment in time.

🛠 How I built it

I built Bedtime Stories using modern tools optimized for fast development, great UX, and scalable AI integration:

  • Bolt: As the React framework backbone, Bolt helped us structure a clean, maintainable front-end with fast routing and built-in performance.
  • Custom AI API wrapper: I developed a lightweight wrapper that handles secure communication with the generative AI model, managing request formatting, rate limits, and error handling.
  • Prompt engineering: The heart of the system is a carefully crafted system prompt that adapts story tone, age, and structure dynamically based on user input.
  • Input interface: Icon-enhanced dropdowns, free-text fields, and virtue selectors let users blend structure with creativity easily.
  • Supabase: For authentification layer and backend as service with persistent storage.

This stack allows us to deliver a fast, delightful, and stable storytelling experience across devices.

Everything is structured to be modular and extendable (e.g. support for illustrations, voice narration in future).

🚧 Challenges I ran into

  • Designing a UI that’s elegant and child-inspired, without feeling cartoonish or cluttered
  • Building a prompt that remains consistent and safe, regardless of vague or creative inputs
  • Managing a hybrid input system (dropdowns + free text + icons) while keeping UX fluid
  • Ensuring the generated stories are age-appropriate, wholesome, and structured
  • Balancing narrative creativity with structure, especially across a wide range of values and styles

🏆 Accomplishments that I am proud of

  • A zero-friction experience from form to story
  • Elegant mobile-first UI that feels magical but not gimmicky
  • A scalable system prompt that consistently produces emotionally rich and age-appropriate stories
  • Creating something that strengthens family bonds and sparks imagination

📚 What I learned

  • Prompt engineering is a creative craft—especially for children’s content
  • Tone, sentence complexity, and pacing need to adapt deeply to age groups
  • Emotional UX matters as much as visuals when building for families and kids
  • Designing for diverse and inclusive scenarios (e.g. gender-neutral stories, wide interest ranges) improves story quality for everyone

🚀 What's next for Bedtime Stories

  • 🎙 Voice narration (text-to-speech) with lullaby background sounds
  • 🎨 AI-generated illustrations based on each story
  • 📖 Story saving and sharing (downloadable storybooks or parent accounts)
  • 📅 Bedtime streaks & rewards to build routines and values over time
  • ❤️ Emotional tone selector (calm, exciting, silly, etc.)

Built With

  • bolt
  • supabase
Share this project:

Updates

Submission history