Inspiration

As a CS student, I spend hours searching across tabs to research any topic. I wanted a hands-free research companion — just speak a topic and get a full research briefing back through voice. The Gemini Live API made real-time voice interaction possible.

What it does

ResearchAI is a voice-powered AI research agent. You speak a topic, and the agent plans subtopics, searches the live web, synthesizes findings, and responds back with voice — all in real time. You can interrupt, ask follow-ups, and go deeper naturally.

How we built it

  • Backend: Python + FastAPI + Google ADK 1.26.0 with 4 custom tools
  • Frontend: React 18 + TypeScript + Vite with a custom Voice Orb UI
  • Model: gemini-2.0-flash-live-001 via Gemini Live API
  • Tools: plan_research_subtopics, google_search, format_research_summary, suggest_followup_questions
  • WebSocket streams raw PCM audio bidirectionally between browser and backend

Challenges we ran into

  • Gemini Live API sends raw Int16 PCM audio — not mp3/wav — requiring manual Float32 conversion in the browser
  • RunConfig serialization issues caused 1008 policy violations until we explicitly set transcription fields to None
  • Tool execution required pausing mic audio to prevent policy violations during function calls
  • Session management with ADK required unique internal session IDs to prevent AlreadyExistsError

Accomplishments that we're proud of

  • Full real-time voice-in / voice-out research agent working end to end
  • 4-step agent workflow (Plan → Search → Synthesize → Follow-up) with live UI tracking
  • Multi-turn conversation supporting 10+ follow-up questions in a single session
  • Clean React UI with animated orb, starfield background, and workflow step tracker

What we learned

  • How to work with Gemini Live API's raw audio format and WebSocket protocol
  • How Google ADK manages agent sessions, tool calling, and streaming events
  • How to build production-grade WebSocket infrastructure for real-time audio

What's next for ResearchAI — Voice Research Agent

  • Cloud deployment on Google Cloud Run
  • PDF export of research sessions
  • Multi-language support
  • Session memory across conversations

Built With

Share this project:

Updates

Submission history