Inspiration

What it does

Homer’s Odyssey

FaceTime the heroes who already sailed through your storm.

Inspiration

People still face the same storms they did thousands of years ago: temptation, burnout, grief, pride, isolation, and impossible choices.

Most advice apps respond with generic instructions. We wanted to try something more memorable: advice delivered through a story that has survived for millennia.

The Odyssey is filled with characters who have already faced recognizable versions of modern problems. Odysseus did not resist the Sirens through willpower—he created a commitment device before temptation arrived. Telemachus had to find his voice. Achilles discovered the limits of fame. Penelope rebuilt trust through patience and proof.

Homer’s Odyssey brings those stories into a medium people already understand: a text message or FaceTime call.

What it does

Homer’s Odyssey lets users text or FaceTime AI-powered characters from The Odyssey, including Athena, Odysseus, Poseidon, and Circe.

A user begins by describing a real problem, such as:

“I keep scrolling my phone instead of studying.”

The system connects that problem to a relevant episode—in this case, the Sirens. The character explains the connection using a verified passage from Samuel Butler’s translation and helps the user turn the story into a practical next step.

During a FaceTime call, the character appears on a live visual stage containing:

  • An animated, speaking character
  • The relevant passage with the current quotation highlighted
  • Illustrations from the episode
  • A map of Odysseus’s journey
  • Multi-character debates presenting different perspectives

The user can interrupt and respond naturally. Characters can hand the conversation to one another or debate a decision, while the visuals remain synchronized with the discussion.

At the end, the user receives a personalized “Your Ithaca” card summarizing:

  • Their storm
  • The matching episode
  • A cited passage from The Odyssey
  • The lesson they discovered
  • One concrete action for the coming week

The experience clearly identifies itself as AI, stores memory only for the current session, and does not record video.

How we built it

We divided the project into four connected layers: Channel, Brain, Story, and Experience.

Channel

Chert provides the iMessage and FaceTime entry point. During calls, LiveKit carries the user’s audio to our application and returns the character’s generated voice.

The visual stage is a real web page rendered in headless Chromium with Playwright. We capture that page and publish it as the AI character’s FaceTime video track. This allows a normal FaceTime call to become an interactive illustrated performance.

Brain

Google Gemini powers the characters’ reasoning, dialogue, and real-time voice.

Gemini Live handles conversational audio, interruptions, character voices, and function calling. Instead of generating visuals directly, the model uses tools such as highlight_passage, show_scene, and switch_character.

Our Brain service validates those calls and sends structured events to the stage over WebSockets. This keeps the character, passage, scene, map, and conversation synchronized.

Story

We processed Samuel Butler’s public-domain translation of The Odyssey into 1,027 addressable passages. Every passage has a stable citation such as 12.13, allowing the system to show exactly where a quotation came from.

We also created:

  • 12 curated episodes
  • 33 mappings between modern problems and episodes
  • Character guides and perspectives
  • Verified key quotations
  • Lessons, scenes, and safety guidance

The story layer retrieves the relevant episode and source text, while Gemini turns that material into a natural conversation. A quote-checking script ensures that displayed quotations actually appear in the source text.

Experience

The stage is built with Next.js and React. It receives live events over WebSockets and renders character portraits, mouth animation, highlighted passages, episode artwork, and journey maps.

Character mouths are animated using the loudness of the generated audio and four mouth shapes. This produces a lightweight speaking effect that remains responsive during a live call.

The whole project is written in TypeScript and organized as npm workspaces with shared contracts between every service.

Challenges we ran into

Turning a web experience into FaceTime video

FaceTime is not designed to display a custom interactive web application as a participant. We solved this by rendering the stage in headless Chromium, capturing its frames, and publishing those frames through LiveKit as the character’s camera track.

That required coordinating browser rendering, audio transport, call state, frame rate, and session identifiers across several independent services.

Synchronizing speech and visuals

It was not enough for the character to speak while unrelated visuals changed in the background. A quotation needed to become highlighted when the character referred to it, and a new scene needed to appear at the right point in the story.

We addressed this with Gemini function calling. The model emits structured stage commands as part of the conversation, and the Brain forwards them to the browser over WebSockets.

Keeping an AI conversation grounded in the source

Language models can produce convincing but inaccurate quotations. For a literature-based experience, that would undermine the entire idea.

We therefore separated conversational generation from the source-of-truth story layer. Quotations come from a processed edition of Butler’s translation, include passage IDs, and can be checked automatically against the original text.

Coordinating four systems under hackathon constraints

Channel, Brain, Story, and Experience had to be developed in parallel without blocking one another. We defined shared TypeScript contracts and maintained working stubs so that each part could be tested before every external integration was ready.

Accomplishments that we’re proud of

We are especially proud that Homer’s Odyssey combines several forms of interaction into one coherent experience:

  • A user can reach the system through familiar communication tools instead of downloading another app.
  • Gemini Live supports fluid voice conversations and interruptions.
  • The model controls a synchronized visual stage using structured tools.
  • Every literary quotation is grounded in a real, citable passage.
  • The experience turns an ancient episode into one specific action the user can take.
  • Characters can disagree and debate rather than presenting AI advice as a single unquestionable answer.
  • The same system supports both a complete FaceTime experience and graceful text or browser fallbacks.

The result feels less like querying a chatbot and more like stepping into a story.

What we learned

We learned that grounding is not only a technical safety mechanism—it can also improve storytelling. Giving the model a carefully structured set of episodes, quotations, themes, and character perspectives produced a stronger experience than simply placing an entire book in a prompt.

We also learned that function calling can direct more than backend operations. It can serve as a real-time language for theatrical direction: changing characters, highlighting text, moving across a map, and revealing scenes.

Finally, we learned the value of designing fallbacks from the beginning. Voice, video, text, and the independent stage all use the same underlying session model, so the experience can continue even when one communication channel fails.

What’s next for Homer’s Odyssey

Our next step is to expand the experience beyond the initial set of Odyssey episodes and characters.

We would like to add:

  • More works, including The Iliad, The Aeneid, and The Epic of Gilgamesh
  • A classroom mode for exploring literature with cited passages
  • Group calls where friends can question or debate a character together
  • A quiz mode that adapts to the learner’s knowledge
  • Richer character and scene animation
  • More languages and translations
  • Longer-term, user-controlled reflection journals
  • Additional expert-reviewed safety and educational guidance

The larger vision is an interactive library where great stories do more than sit on a page: they listen, respond, and help people navigate their own journeys.

Built with

  • Google Gemini API
  • Gemini Live API
  • Chert
  • LiveKit
  • Next.js
  • React
  • TypeScript
  • Node.js
  • WebSockets
  • Playwright
  • Headless Chromium
  • Project Gutenberg
  • Samuel Butler’s translation of The Odyssey

Links

Built With

Share this project:

Updates

Submission history