Hi all! I’ve been building Qivi, a particle “face” for AI agents, and wanted to share it here since it’s all Three.js under the hood.
- Up to 38k points in a single draw call. Shape, expressions, eyes, and mouth are driven by shader uniforms, so React never re-renders per frame
- Orthographic camera; the particle budget scales with on-screen size
- Mouth and body react to Web Audio analysis of a mic, an audio element, or a MediaStream
- SVG fallback for tiny sizes, reduced-motion support, pauses when offscreen
Live demo: Qivi — a companion with character
Try it in StackBlitz: Qivi Quickstart Example - StackBlitz
Code (MIT): GitHub - yogeshhrathod/qivi: Customizable particle-based AI companion for React · GitHub
The promo video was rendered frame-accurately by faking the browser clock in Playwright and stepping 1/30 s per screenshot. Happy to share details if that’s useful to anyone.