Skip to content

Software

All software

← All software

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.

Local assistant · In developmentLive visual preview
Neutral: a relaxed face, with natural blinks and glances.

Meet every side of her.

The real portrait, rendered live. Choose an expression, change the light, or watch how the dots follow her movement.

Background
Expression
Particle motion

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.

FeatureThis showcaseLocal prototype
PortraitLive particles, backgrounds and expressionsThe same portrait with conversation-driven motion
SpeechA silent, timed mouth-motion sampleKokoro or system speech with mouth movement
ConversationNo model connectedInstalled Ollama chat models
MemoryNo access to private recordsOptional bounded, read-only second-brain retrieval
InputVisual controlsTyped 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.