What it is
A talking 3D character in the browser that splits the work between two models: one talks, Jev moves her.
What it does: While you speak, Jev picks a listening face; while she speaks, transcript fragments trigger one request with several questions (is she committing to an action, which clip, which reaction, which face, how much energy). Code keeps control: only installed clips can be chosen, answers must clear a confidence gate, refusals veto motion, and a local rule floor covers timeouts or missing keys. Lip-sync comes from the audio, and the motion clips were keyed by hand in Blender.
Why it belongs in the showcase: A real-time, low-cost example of Jev choosing bounded actions for an embodied character, with gates and fallbacks in code.
Caveats: Needs OpenAI and TypeSafe keys for live use; numbers come from a single recorded session.
Evidence
Public Apache-2.0 README; the recorded 97-second demo session lists 51 live Jev decisions, p50 118 ms, p90 151 ms, $0.0026 of Jev in total (author-reported); Jev only picks from installed clips, actions such as dancing need a spoken commitment, and any Jev miss falls back to a local rule floor; a scripted preview and the recorded session replay run without keys.
Caveats
- Live mode needs an OpenAI key with GPT-Live access and a TypeSafe key; GPT-Live voice is billed separately
- Both voices in the demo video are AI-generated; the user's lines are scripted
- Latency and cost figures come from one recorded session; avatar assets have their own license terms
Unofficial case page. Stars / list position observed for heat; do not treat heat as a quality SLA. Review the upstream README before you depend on it.