Inspiration

I was deeply moved learning how many children in DR Congo, especially in Goma, are displaced and out of school due to conflict. Over 795,000 children have lost access to education, and many have nothing left but a radio. I began reading more about UNICEF and their work in the region and felt an overwhelming desire to contribute. I don’t want to be paid. I want to help.

Growing up, I was captivated by radio stories that sparked my imagination. That same spirit is what I hope to deliver to kids in crisis. I created RadioQuest to use the tools I have—code, AI, storytelling—to bring hope and education to children who deserve both. One day, I hope to partner with UNICEF and help implement RadioQuest in person.

RadioQuest is a love letter to these kids and a call to amplify their voices.

What it does

RadioQuest is a radio-inspired learning platform that delivers interactive stories like "The Missing River" to children in crisis zones. Through a simple radio-style interface, learners follow branching narratives that teach math and literacy. At key moments, they make choices such as "Follow the animal tracks" using voting buttons or classroom discussions.

Features include:

  • Branching educational narratives with live choices
  • Google Cloud Text-to-Speech narration in multiple accents (including fallback phrasing to simulate Nigerian intonation)
  • "Teacher Mode" for group classroom engagement
  • Simple UI styled like a broadcast operator panel
  • Deployed on Google Cloud Run for scalable, low-resource use

How we built it

I built RadioQuest solo using Flask for the backend and MongoDB Atlas to store modular story segments. I used SentenceTransformer to allow retrieval of story pieces by semantic meaning. The frontend UI is styled with CSS and Jinja2 to simulate a vintage radio broadcast experience.

Audio narration is powered by Google Cloud Text-to-Speech. Although there is no native en-NG voice, I used en-GB-Wavenet-F with Nigerian phrasing to provide familiarity. Secrets like MONGO_URI are stored securely with Google Cloud Secret Manager.

The application is deployed to Google Cloud Run, making it easily accessible at scale.

Challenges we ran into

I encountered a persistent bug on Windows: OSError [WinError 10038], which was caused by Flask’s debug mode interfering with socket handling. After extensive troubleshooting, I resolved it by disabling debug mode in production.

Google Cloud TTS integration required careful setup of firebase-key.json permissions. Crafting a Nigerian-sounding narration without a native en-NG voice also presented a creative challenge, requiring custom phrasing and pacing.

Time was tight. Editing the cinematic demo "The Goma Cut" in DaVinci Resolve while coding and debugging the app pushed my limits, but also sharpened my skills.

Accomplishments that we're proud of

I successfully launched RadioQuest at https://radioquest-17727531746.us-central1.run.app. The broadcast-style UI gives the app a cinematic feel. I implemented a working Teacher Mode and a demo voting system that mirrors real classroom participation.

Audio playback works across devices, and the voice used for narration makes the story feel alive and familiar to users. Completing "The Goma Cut" video with a strong emotional arc was a personal milestone.

Most importantly, I created something that can give displaced children access to learning and choice, even when they have very little else.

What we learned

I learned a great deal about Flask and the quirks of Windows development environments, particularly the importance of managing debug settings properly.

Working with Google Cloud services taught me the power of their TTS, Firestore, and deployment tools. MongoDB proved to be an ideal solution for story-driven content, and SentenceTransformer added a semantic layer to story retrieval.

I also gained experience in post-production through DaVinci Resolve and saw firsthand how technology can serve as a bridge between imagination and access for children in vulnerable communities.

What's next for RadioQuest

RadioQuest is just getting started. The next milestones include:

  • Adding offline mode via downloadable stories or SD card support
  • Expanding narration to include Swahili TTS for local language access
  • Integrating Gemini API to auto-generate new story branches and quizzes
  • Adding SMS-powered classroom voting for areas without internet
  • Creating a lightweight mobile app for rural access
  • Partnering with real classrooms in DR Congo for pilot testing

My long-term goal is to work with organizations like UNICEF to implement RadioQuest in communities that need it most.

Built With

Share this project:

Updates