Back to levels

LVL 2-03 · Experiment

Arisa

Interactive 3D AI companion.

Now playing — Arisa

An interactive 3D AI agent rendered in the browser, inspired by Grok's Ani. Users can speak or type to Arisa, and she responds with voice, synchronized lip movements, body animations, and emotion-driven facial expressions — all in real time.

How It Works

The user records audio or types a message. Audio is transcribed via ElevenLabs STT, then sent to xAI Grok which returns a text response along with an animation state and facial expression weights. The response is converted back to speech with ElevenLabs TTS, and lip-sync viseme data is extracted using Rhubarb. On the frontend, a 3D avatar rendered with Three.js and React Three Fiber plays the matching body animation, blends facial morph targets for the expression, and synchronizes mouth shapes to the audio.

Key Features

  • Voice and text input — speak or type, Arisa understands both
  • Real-time lip sync — mouth shapes driven by viseme data from Rhubarb
  • LLM-controlled animations — Grok decides the body animation and facial expression for each response
  • Emotion-aware responses — happy, sad, angry, relaxed, surprised — reflected in both voice tone and 3D expression
  • Morph target blending — smooth transitions between facial expressions using blend shapes

Tech Stack

LayerTechnology
FrontendReact, React Three Fiber, Three.js, Tailwind CSS
BackendNode.js, Express, TypeScript
LLMxAI Grok
VoiceElevenLabs (STT + TTS)
Lip SyncRhubarb
3DFBX animations, morph target blending