explaingit

evanbacon/grok-voice-demo

Analysis updated 2026-05-18

60TypeScriptAudience · vibe coderComplexity · 3/5LicenseSetup · moderate

TLDR

A full-featured Expo demo that adds real-time voice conversations with xAI's Grok AI to a cross-platform chat UI running on iOS, Android, and web from one TypeScript codebase.

Mindmap

mindmap
  root((grok-voice-demo))
    What it does
      Real-time voice chat
      WebSocket streaming
      Cross-platform audio
    Features
      Streaming transcripts
      Voice settings
      Liquid Glass iOS 26
      Dark mode
    Tech Stack
      Expo SDK 56
      React Native
      Tailwind CSS v4
      Radix UI web
    Setup
      xAI API key
      Bun and Expo CLI
      MIT license
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a real-time voice AI chat app for iOS, Android, and web from a single TypeScript codebase using this as a starting template

USE CASE 2

Add Grok voice agent support to an existing Expo app by copying the audio layer and session-token API route pattern

USE CASE 3

Learn how to handle cross-platform audio capture and playback in React Native with platform-specific files behind a shared interface

USE CASE 4

Explore iOS 26 Liquid Glass UI effects in an Expo app using expo-glass-effect

What is it built with?

TypeScriptReact NativeExpoTailwind CSSWebSocketRadix UI

How does it compare?

evanbacon/grok-voice-demoallstarswc/allstarsbrowser-use/browser-agent-template
Stars606056
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatehardmoderate
Complexity3/54/52/5
Audiencevibe codergeneralvibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires an xAI API key, voice echo cancellation on iOS needs a physical device, not a simulator.

MIT license -- use, copy, and modify freely for any purpose including commercial use.

In plain English

Grok Voice Agents Demo is a ready-to-run example app built with Expo, the popular framework for creating iOS, Android, and web apps from a single TypeScript codebase. It shows how to build a real-time voice chat interface powered by xAI's Grok voice agent API, which lets users speak to an AI and hear spoken responses back. The app works like a standard chat interface, but with a microphone button that activates a live voice session. Spoken turns stream into the same message list as text messages in real time, and the AI's voice replies play back through the device speakers. The connection runs over a WebSocket, and the server handles detecting when the user stops talking so turns flow naturally without a manual button press to switch sides. The audio layer is split by platform under a shared interface: the browser version uses the Web Audio API built into modern browsers, while iOS and Android use a React Native audio library with hardware echo cancellation so the AI does not hear its own output looping back through the microphone. For security, the app's server side exchanges your long-lived API key for a short-lived token before the client opens the voice connection, so the real key never reaches the user's device. On top of the voice feature, the demo includes a full text chat UI, voice and personality settings, a collapsible sidebar for web, swipe-driven navigation drawers for mobile, a markdown renderer for AI responses, dark mode via CSS design tokens, and iOS 26 Liquid Glass visual effects. It is a full-featured reference template, not a minimal proof of concept. Setup requires an xAI API key plus Bun and the Expo CLI installed. Testing the voice feature on iOS requires a physical device because echo cancellation only works on real hardware. The project is MIT licensed and was created as a template for the Expo agent platform.

Copy-paste prompts

Prompt 1
I want to add Grok real-time voice chat to my Expo app. Walk me through how the voice session token flow works in grok-voice-demo and what files I need to copy
Prompt 2
How does this repo split the audio implementation between web and iOS/Android, and how do I add a new platform target?
Prompt 3
I want to swap the Grok backend for a different AI SDK provider. Which file do I change in grok-voice-demo and what does the createStreamingStore architecture expect?
Prompt 4
Set up grok-voice-demo for me: copy .env.example, fill in the xAI API key, install with bun, and run the iOS simulator

Frequently asked questions

What is grok-voice-demo?

A full-featured Expo demo that adds real-time voice conversations with xAI's Grok AI to a cross-platform chat UI running on iOS, Android, and web from one TypeScript codebase.

What language is grok-voice-demo written in?

Mainly TypeScript. The stack also includes TypeScript, React Native, Expo.

What license does grok-voice-demo use?

MIT license -- use, copy, and modify freely for any purpose including commercial use.

How hard is grok-voice-demo to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is grok-voice-demo for?

Mainly vibe coder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub evanbacon on gitmyhub

Verify against the repo before relying on details.