Inspiration

I wanted to make history come alive for students. Reading about historical figures in textbooks often feels distant and boring. The idea behind Histora.me was to create a platform where kids can actually talk to historical figures like Einstein, Gandhi, and others, ask them questions, and learn through engaging, interactive conversations. This way, students can build a personal connection with the past and learn from the greatest minds in history.

What it does

Histora.me is an AI-powered educational web app where students can have real-time conversations with historical figures on topics they were experts in.

Here’s what users can do:

  • Browse a list of historical figures
  • Select a topic of conversation (e.g., Science with Einstein, Peace with Gandhi)
  • Start a live AI voice chat with the figure’s AI avatar
  • Receive responses that are context-aware, educational, and personalized
  • View a summary of each conversation in their History Journal for future review

Currently, I have built custom AI Avatars for Albert Einstein and Mahatma Gandhi using Tavus. For the other historical figures, I’m using the default AI avatars provided by Tavus. In the future, I plan to create more personalized, realistic AI avatars for each figure to deliver a more immersive and engaging experience.

How I built it

I combined multiple AI technologies to bring Histora.me to life:

  • Frontend: React with TailwindCSS for a sleek, responsive UI
  • Authentication: Google Sign-In and Email/Password Login with Supabase Auth
  • Voice Interaction:
    • LiveKit Agents for Speech-to-Text (STT) and LLM interaction
    • Tavus AI for Text-to-Speech (TTS) avatars of historical figures
  • Backend: Node.js + Supabase Database to manage user profiles, history logs, and session metadata
  • Deployment: Netlify for frontend, Supabase for backend services

Challenges I ran into

  • Voice Sync Issues: Getting seamless real-time voice conversations using LiveKit + Tavus took time to debug.
  • Persona Prompting: Tuning LLM prompts to make each historical figure sound authentic and factually correct without hallucinations.
  • User Flow Design: Designing a UI/UX that feels fun for kids but still educational and focused.
  • Latency Handling: Keeping conversations smooth with low response lag between user input and AI output.

Accomplishments that I'm proud of

  • Successfully created real-time, persona-based AI conversations that feel natural and engaging.
  • Built a clean and colorful UI that appeals to students and teachers alike.
  • Developed a custom History Journal feature that auto-generates summaries after every conversation.
  • Seamlessly integrated LiveKit, Tavus, and Supabase into a unified product within tight time constraints.
  • Created custom AI avatars for Einstein and Gandhi, making the learning experience more personal and relatable.

What I learned

  • Prompt engineering for character consistency is an art in itself.
  • Combining multiple AI services (STT, LLM, TTS) in real-time requires careful orchestration and optimization.
  • Building for younger users means thinking more about UI simplicity and voice interaction design.
  • Small UX details (like transition animations and conversational tone) drastically improve user engagement.
  • Managing voice latency and response timing is critical when working with AI-powered avatars.

What's next for Histora.me

  • Add more real AI Avatars: Right now, only Einstein and Gandhi have custom avatars. I plan to create unique, lifelike AI avatars for more figures like Marie Curie, Martin Luther King Jr., and others.
  • Introduce gamification: Badges, streaks, and quizzes after conversations.
  • Improve speech emotion modeling: To make AI voices more engaging and emotionally aware.
  • Offer multilingual support: So students can talk to historical figures in different languages.
  • Integrate a teacher dashboard: Allowing educators to track student engagement and learning progress.
  • Expand figure-topic pairings: Offering more diverse conversation topics per historical figure for deeper learning.

Built With

Share this project:

Updates