An expressive face for a local assistant
Christabel
Hologram.
A face made of flowing dots. She glances around, follows a conversation and speaks with it.
Meet every side of her.
The real portrait, rendered live. Choose an expression, change the light, or watch how the dots follow her movement.
Speech motion is a silent demonstration. No microphone or model connection is used.
An expressive interface for local conversation.
Christabel Hologram combines a particle portrait with a local conversation model, neural speech and optional project memory. Her expression, gaze and mouth movement give the assistant a visible presence while the conversation runs on the user’s machine.
- Portrait
- 117,504 particles with expression shapes and shallow depth
- Conversation
- Installed Ollama models
- Voice
- Local Kokoro speech, system voice or voice off
- Status
- Local prototype; tested on an Apple Silicon Mac
The face follows the conversation.
The portrait and assistant work together, but the public showcase only runs the visual. The full local prototype supplies the conversation and voice.
- Expression
- Ten expressions combine brow, eye, mouth and head-pose changes. Eyes lead a glance and the head follows with damped motion.
- The portrait is a shallow relief with a limited viewing angle, not a complete head model you can orbit all the way around.
- Particle motion
- Individual dots follow their targets at different speeds. Adjustable trailing and a shared travelling wave keep the projection fluid.
- Light mode uses balanced multicolour dots. Dark mode uses luminous colour. Both treatments share the original face geometry.
- Local replies
- The assistant lists installed Ollama models and sends conversation requests to a local service. Optional bounded retrieval adds relevant second-brain context.
- Conversation stays in memory and clears on reload or New chat. This interface does not execute tasks or change files.
- Spoken replies
- Kokoro generates local speech. Audio energy drives the mouth while timed text cues approximate word shapes.
- Natural, system and off are explicit voice choices. Stop cancels queued audio and resets the mouth; word cues are not phoneme-perfect alignment.
- Motion control
- Pause, reduced-motion support and offscreen suspension keep the website preview manageable. Small portraits ease down fine facial motion.
- The main website portrait animates at a capped rate. Secondary miniature portraits use a still frame instead of another renderer.
What runs here.
What runs locally.
The website is a hands-on visual demonstration. The local prototype adds the services that make the portrait an assistant.
| Feature | This showcase | Local prototype |
|---|---|---|
| Portrait | Live particles, backgrounds and expressions | The same portrait with conversation-driven motion |
| Speech | A silent, timed mouth-motion sample | Kokoro or system speech with mouth movement |
| Conversation | No model connected | Installed Ollama chat models |
| Memory | No access to private records | Optional bounded, read-only second-brain retrieval |
| Input | Visual controls | Typed messages; optional browser dictation |
What the local setup needs.
A local server, Ollama with an installed chat model and a browser capable of running the portrait. Natural voice uses WebGPU and pinned local model assets. The initial asset setup needs internet access; portrait, voice and conversation run locally afterward.
Optional browser dictation is separate from local speech generation and may send audio to the browser provider. Second-brain retrieval requires its local scripts and PowerShell.
Working prototype, still being built.
Conversation, natural voice, stopping speech and optional brain context were verified on an Apple Silicon Mac. Microphone permissions and other browser configurations remain unverified. There is no public download yet.
The silent sample here illustrates mouth movement. It is not a recording of the local voice or an AI-generated reply.