Inspiration

Growing up, Tales by Moonlight was how stories lived. Under the night sky, elders told fictional and real stories—often exaggerated, vivid, and memorable—not just to entertain, but to teach. Every tale ended with a lesson that stayed with you.

This spirit is captured in the Igbo proverb:

“Ilu bụ mmanụ ndị Igbo ji eri okwu” Proverbs are the oil with which Igbo words are eaten.

It means that wisdom, metaphor, and cultural context make communication deeper, gentler, and more powerful—just as oil makes food palatable. Proverbs allow complex truths to be expressed with elegance and respect.

Greeo was born from a desire to weave modern technology with this familiar storytelling tradition—to preserve eloquence, cultural wisdom, and the beauty of telling a good story, even in a fast, digital world.

What it does

Greeo transforms any modern news article or webpage into an African Tales by Moonlight narration. Using Gemini 3, it:

  1. Extracts and preserves key facts from the source content
  2. Identifies themes, stakes, and moral lessons
  3. Matches the story with culturally relevant African proverbs
  4. Rewrites the content as a warm, oral-style narrative while keeping factual accuracy intact

Users can adjust the tone—light, balanced, or serious—and regenerate the story without changing the facts. Each output includes:

  1. The narrated story
  2. Explanations of the selected proverb(s)
  3. A short moral summary
  4. Optional immersive audio narration

How we built it

Frontend (Angular)

  • Built a story-generation UI where users paste a URL or text and choose a tone
  • Implemented an async polling flow:

1.Create request 2.Poll status until completion

  1. Fetch final story result
  • Implemented real-time read mode:
  • Splits narration into sentence chunks
  • Calls backend TTS per chunk
  • Plays audio sequentially for near-live narration

Backend (Django / DRF + GraphQL)

  • Built an async story pipeline:
  • Content extraction
  • Fact and theme inference
  • Proverb matching
  • Final “moonlight” story generation

  • Exposed REST APIs for:

  • Story request creation and status

  • Per-story audio synthesis

  • Real-time TTS synthesis

  • Model diagnostics and testing

  • Improved status payloads to include story and audio fields

  • Built robust TTS orchestration:

  • Google Cloud TTS as primary

  • Optional Gemini fallback

  • Retries and backoff for transient failures

  • Handling token limits and no-audio responses

  • Implemented audio normalization and storage:

  • MIME-aware handling

  • Safe media persistence

  • Absolute URLs for playback

Voice & narration behavior

  1. Tone-aware voice settings
  2. Environment-based voice controls (TTS_LANGUAGE_CODE, TTS_VOICE_NAME) with fallback logic

Challenges we ran into

  • Preserving factual accuracy while transforming tone and structure
  • Handling asynchronous generation across text, reasoning, and audio
  • Managing TTS failures, latency, and token limits gracefully

Accomplishments that we're proud of

Getting Greeo built and shipped within the hackathon timeline ( waited until last minute ) is a major milestone. Delivering a working end-to-end system—story reasoning, proverb matching, narration, and real-time audio—while staying true to cultural intent is something i'm deeply proud of.

What we learned

AI is evolving rapidly, and building meaningful applications requires more than raw capability—it demands intention, structure, and respect for context. I learned how to adapt to changing AI tools while grounding outputs in human culture and storytelling traditions.

What's next for Greeo

The next step is a deeper exploration into training a true digital griot—an AI storyteller that doesn’t just generate stories, but embodies the rhythm, wisdom, and presence of traditional African narration.

Someone needs to tell these stories in a way that still fascinates, teaches, and connects—and Greeo is just the beginning.

Share this project:

Updates