A beautiful, private chat interface for local models running on Ollama. Real-time streaming, conversation management, and fourteen hand-crafted ice cream color schemes.
Vanilla Chat connects to Ollama running on your own machine. Every message stays local — no data ever leaves your computer. It's a single-page app served by an Express backend with SSE streaming, Markdown conversation storage, and a theming system that's as fun as an ice cream shop.
The entire frontend is a single HTML file with vanilla JavaScript and CSS. No frameworks, no build step, no telemetry. Just a chat app that respects you.
Vanilla Chat packs a surprising amount of capability into a minimalist package.
Responses appear token-by-token via Server-Sent Events for a smooth, natural conversation feel. No waiting for the full response.
Create, switch between, and delete chat sessions. Each conversation is saved locally as readable Markdown files.
Works with Ollama, OpenAI-compatible APIs, Anthropic Claude, and even CLI tools like OpenCode, Aider, and Goose.
Vanilla, Chocolate, Strawberry, Mint, Lemon, Lime, Peach, Plum, Raspberry, Lavender, Dragonfruit, Dreamsicle, Blue Moon, and Monochrome.
All data stays local. No accounts, no cloud, no telemetry. Connect to Ollama on localhost and nothing leaves your machine.
Attach images and documents to your conversations. Images are automatically compressed via Sharp on the server.
Keep an eye on CPU, RAM, and GPU usage right from the interface. Know what your local models are doing to your hardware.
Search across all your conversations with instant results. Your chat history is always at your fingertips.
Power-user shortcuts for every action: new chat, search, submit, theme switching, and more. Stay in the flow.
A standalone desktop application built on Gelectron — an Electron replacement powered by Rust and the OS platform WebView. Install and run without a terminal.
The chat interface, theme switcher, conversation management, and model selection.
Getting started with Vanilla Chat is straightforward — no build tools, no cloud accounts, no hassle.
Make sure Ollama is running on your machine with ollama serve and pull a model like llama3.2.
Clone the repo and run npm start. The Express server serves the single-page app, the API, and SSE streaming on port 3000.
Open http://localhost:3000 in your browser, pick a model and a theme, and start your first conversation.
14 carefully crafted color palettes, from classic Vanilla to bold Dragonfruit. Each theme adjusts every UI element — messages, borders, status bar, and backgrounds.
Classic cream and beige
Rich brown and tan
Sweet pink and red
Fresh mint green
Bright yellow and gold
Bright lime green
Soft peach and coral
Deep purple tones
Rich red and pink
Soft purple tones
Vibrant magenta and pink
Orange cream and peach
Cool blue and cyan
Classic black and white
Vanilla Chat exposes a clean HTTP API for health checks, model listing, conversation CRUD, and streaming chat completions.
| Endpoint | Method | Description |
|---|---|---|
/api/health |
GET | Health check — is the server alive? |
/api/models |
GET | List available Ollama models |
/api/conversations |
GET | List saved conversations |
/api/conversations |
POST | Create a new conversation |
/api/conversations/:id |
GET | Get conversation messages |
/api/conversations/:id |
DELETE | Delete a conversation |
/api/chat/stream |
POST | Send message and stream response (SSE) |
/api/system |
GET | CPU, RAM, GPU system stats |
A standalone desktop application that bundles everything into a single installable package. No terminal, no Node.js, no configuration — just download and chat.
Under the hood, it's Gelectron — a drop-in Electron replacement built on Rust and the OS platform WebView. It gives you the same Electron API surface without bundling Chromium. Smaller, faster, and memory-safe.
Gelectron is an open-source, MIT-licensed project in active development. The Vanilla Chat desktop app will ship as a single installable — click, install, and you're chatting with your local models.
Learn more about Gelectron →🏛 Native experience — Runs in its own window with tray support, native menus, and OS notifications.
🚀 Zero setup — Bundles the server and UI into one package. No Node.js, no terminal, no npm install.
🌊 Cross-platform — macOS, Windows, and Linux supported via Gelectron's Rust core.
🔒 Same privacy — All data stays local. No accounts, no cloud, no telemetry. Same guarantees as the web version.
Vanilla Chat is being prepared for its public release. The source will be available on GitHub under the MIT license once we've polished a few final edges.
In the meantime, you can run it locally with npm start connected to Ollama.
MIT