ARIA: Real-Time Voice AI Assistant

Vercel
application badge
Created by team Code warriors on September 05, 2026

ARIA is a real-time, browser-based voice assistant built entirely on AssemblyAI's Voice Agent API — a single WebSocket connection that handles speech-to-text, LLM reasoning, and text-to-speech together, so there's no separate pipeline to stitch together by hand. Click "start talking," and ARIA listens through your microphone, transcribes your speech in real time, thinks through a response, and speaks back — all while a living, organic orb on screen reacts to the actual audio. It breathes gently at rest, brightens and pulses with your voice while you talk, shifts color while thinking, and moves with the AI's own voice while it replies. A scrolling live transcript runs underneath, so the full conversation stays visible and re-readable. Under the hood, a lightweight Next.js server route mints a short-lived, single-use AssemblyAI token per session, so the real API key never reaches the browser. A custom AudioWorklet captures raw microphone audio directly on the audio thread, buffers it into fifty-millisecond chunks, and converts it to sixteen-bit PCM at twenty-four kilohertz — the exact format the Voice Agent API expects — with zero external audio libraries. A single WebSocket streams that audio up and receives transcript deltas, agent replies, and streamed reply audio back down, handling turn-taking and interruptions natively. Reply audio is decoded and queued on an AudioContext timeline for gapless playback. The interface is hand-built: drifting, blurred SVG circles merged with an SVG goo filter form the "living" orb, driven by real amplitude data read straight from the mic and playback streams, so it always reflects what's actually happening acoustically rather than a canned animation. Most voice-AI demos bolt together three separate APIs with noticeable lag, or hide behind a static spinner with no real feedback. ARIA leans on AssemblyAI's managed pipeline for low-latency, natural conversation, paired with an interface that feels genuinely alive.

Category tags: