← All speakers

Bio, Work & Ideas

Thor Schaeff

Conference affiliation: Google DeepMind · 2026

Thor Schaeff is a developer-relations engineer at Google DeepMind working on the Gemini API, Google AI Studio, and conversational audio. His career at Stripe, Supabase, ElevenLabs, and Google has centered on making sophisticated infrastructure practical for developers, from payments and databases to real-time multimodal AI.

Raised near SAP’s headquarters in Germany, Schaeff discovered web development through an SAP summer program and later returned to teach younger students. After working with Google’s London-based Maps team, he joined Stripe in Dublin, where customer-facing engineering and developer advocacy eventually took him to the Asia-Pacific region.

While living in Singapore, he contributed to Supabase before joining the open-source database company. His Supabase writing spans developer education, client libraries, edge functions, AI integrations, and coding assistants. His browser-vector-search project combines Transformers.js, PGlite, and pgvector for in-browser semantic search; another open-source example connects Expo and React Native to OpenAI’s real-time API over WebRTC.

At ElevenLabs, Schaeff focused on multilingual conversational agents and published guides to integrating Gemini and DeepSeek-derived reasoning models with its voice platform. He joined Google DeepMind in November 2025, shifting his attention to Gemini’s audio understanding, speech generation, and Gemini Live API.

  • Developer experience for humans and machines. Schaeff argues that developer platforms must work for both people and coding agents. Clear documentation, open interfaces, discoverable examples, and agent-readable instructions increasingly determine which tools AI-assisted programmers adopt. His developer-relations talk connects this argument to his experience at Supabase.
  • Audio understanding beyond transcription. His EchoScript example extracts speaker identities, timestamps, languages, emotional cues, translations, and summaries through one structured Gemini request. He also demonstrates prompt-directed synthetic speech, shaping accent, pacing, and character through performance instructions instead of relying exclusively on large voice catalogs.
  • Architecture follows operational requirements. Schaeff distinguishes conventional speech-to-text, language-model, and text-to-speech pipelines from native audio voice agents that process conversation more directly. Cascaded systems offer stronger observability, moderation, and intervention; native audio supports more fluid multilingual interaction but introduces practical constraints around debugging, session management, grounding, and reliability.
  • Inspectable applications expose real tradeoffs. His Live Jukebox demonstration combines Gemini conversation, tool calling, and Lyria music generation to turn spoken requests into songs. His implementation examples also examine WebSockets, ephemeral credentials, and the latency differences between direct client connections and server-side proxies. A public post about using his voice instead of typing captures his interest in making conversational interfaces useful in everyday work.

Read the topics behind these talks

3 conference talks

Key ideas

Scroll to read ↓

Build a small coding agent, give a conversational model tools and vision, and follow the deployment and reliability tradeoffs exposed by the live demonstrations.

  • Start with a key—and a device that can use it
    1:43 ↗
  • One interaction surface for models and agents
    8:39 ↗
  • Keep history on the server without surrendering context control
    11:24 ↗
  • The loop connects reasoning to action
    14:31 ↗
  • Give the coding agent documentation it can use
    17:29 ↗
  • Build the smallest stateful agent
    25:09 ↗
  • Add file tools, then close the execution loop
    30:11 ↗
  • Use conversation to expose missing instructions
    35:01 ↗
  • Branch history, but account for expiry and context limits
    42:55 ↗
  • A live DJ with a music-generation tool
    49:02 ↗
  • What travels over the Live connection
    54:49 ↗
  • Prompt the voice, then test its access to facts
    59:24 ↗
  • Choose a generated app or a working example
    1:04:00 ↗
  • Route browser media through a Python server
    1:07:28 ↗
  • Connect directly using an ephemeral token
    1:14:09 ↗
  • Separate successful actions from unresolved failures
    1:19:49 ↗
  • Longer sessions require a policy for forgetting
    1:25:07 ↗
  • Choose conversational flow and control deliberately
    1:26:57 ↗
  • Recognizing speech is not authorizing its speaker
    1:33:22 ↗
  • Personalization, evaluation, and storage have separate boundaries
    1:39:23 ↗
  • Return to the failed weather answers
    1:45:16 ↗

Key ideas

Scroll to read ↓

Follow a voice agent from speech recognition to language switching, tool calls and spoken replies, then examine what breaks with slow systems, mixed languages and domain vocabulary.

  • Which languages—and which accents—should the agent speak?
    0:22 ↗
  • Text to Bark: generated sound is not translation
    5:08 ↗
  • Speech, text, intelligence, speech
    8:26 ↗
  • A transcript can carry timing, speakers and events
    10:51 ↗
  • Forward a voice message, get readable text
    12:39 ↗
  • Choose the intelligence layer and the speaking voice
    17:05 ↗
  • Configure a conference agent
    20:31 ↗
  • Switch languages without restarting the conversation
    23:38 ↗
  • Language recognition selects a configured voice
    28:49 ↗
  • Give the agent appointment-setting tools
    30:58 ↗
  • Balance response time, session cost and task complexity
    33:01 ↗
  • Keep the caller informed while tools run
    39:06 ↗
  • A mixed-language question exposes a recognition boundary
    43:56 ↗
  • Voice generation needs misuse controls
    49:00 ↗
  • Test the languages people actually mix
    52:00 ↗
  • Generated voice is only one part of an avatar
    55:06 ↗
  • Pronouncing SAP and recognizing Joule are different problems
    57:49 ↗

Key ideas

Scroll to read ↓

Thor Schaeff moves from a multilingual recording to directed speech, live camera conversation and generated music, showing how Gemini’s audio capabilities fit together.

  • Start with a multilingual recording
    0:40 ↗
  • The information a plain transcript leaves behind
    3:01 ↗
  • One recording, several kinds of output
    4:40 ↗
  • Choose a base voice, then direct its performance
    7:24 ↗
  • A conversation without a text-only middle
    11:55 ↗
  • The camera works—and the accent instruction travels
    13:32 ↗
  • Building the live connection
    15:09 ↗
  • Let the conversation request a song
    15:55 ↗

References