What it does
In plain words.
Open it, pick a look, start talking. Nothing you say gets sent to a model server.
- 01
Private by design
Conversations are stored in your browser's IndexedDB, not on a server.
- 02
Reads the room
Ten mood strategies, picked by trigger words, change how it answers when you're low, stressed or just bored.
- 03
Fast
GPU-accelerated with WebGPU, with a CPU fallback when WebGPU isn't there.
- 04
Start before you sign in
“Ghost Chat” lets you talk before anything is saved; Google sign-in when you want to keep it.
How it works
Under the hood.
Fine-tune small, ship to the edge: a Gemma 3 1B model tuned on conversational data, compiled for the browser, running on your GPU.
The pipeline goes from data to a model your browser can run.
- 01
Data
A curated conversational dataset for supportive, Gen Z-style chat.
- 02
Fine-tune
Gemma 3 1B Instruct, fine-tuned with PyTorch and Unsloth.
- 03
Compile
Packaged for in-browser inference with MLC-LLM and WebAssembly.
- 04
Serve
WebLLM runs it on WebGPU at around 40 tokens per second; Transformers.js covers CPUs.
- 05
Store
Chats persist in IndexedDB; Firebase Google sign-in when you want it.
Decisions that mattered
On-device over an API
No inference bill and no conversation data leaving the device.
1B, on purpose
Small enough to download and run on an ordinary laptop GPU, tuned enough to feel like a person.
Always a fallback
If WebGPU isn't available, a CPU path keeps the conversation going.
Still curious?
