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:
- Extracts and preserves key facts from the source content
- Identifies themes, stakes, and moral lessons
- Matches the story with culturally relevant African proverbs
- 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:
- The narrated story
- Explanations of the selected proverb(s)
- A short moral summary
- 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
- 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 APIsfor:Story request creation and status
Per-story audio synthesis
Real-time
TTS synthesisModel diagnostics and testing
Improved status payloads to include story and audio fields
Built robust
TTSorchestration:Google Cloud
TTSas primaryOptional 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
- Tone-aware voice settings
- 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.

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