What is Kacy Brain?
Kacy Brain is a local AI voice assistant that integrates deeply with Home Assistant. It understands natural language, learns the patterns of your household over time, and controls smart home devices — automatically if you want, or on demand. The crucial difference from Alexa, Google Home, or Siri: everything runs inside your own network, on hardware you own.
At its core, Kacy Brain is a Python application that runs 24/7 on a Raspberry Pi. It listens for a wake word, records your voice, transcribes it locally using OpenAI Whisper, sends the text to an AI model for interpretation, and then calls the relevant Home Assistant service. No voice audio ever leaves your home network.
"Most voice assistants treat your home as a data source. Kacy treats it as a private space — and acts accordingly."
The project started as a personal side project by Marco Breuer in Erkrath, NRW, and has grown into a fully-featured product with an alias system, a learning memory, scene management, multi-channel control, and automatic nightly updates. If you run Home Assistant and have wanted a voice assistant that actually understands context, Kacy Brain is worth a close look.
Natural Language Control — No Commands to Memorise
Traditional voice assistants require you to speak in a specific pattern. "Turn off living room light" works. "Switch the light in the lounge off and pull the blinds down a bit" might not. Kacy Brain is different because the interpretation step is handled by a large language model, not a rigid intent classifier.
You can say: "Turn off the lights in the living room and close the blinds" — and Kacy will parse the sentence, identify two separate actions, and execute them in sequence. Compound commands, informal phrasing, German-English mixing (if you configure it) — the model handles the ambiguity so you don't have to.
Both providers are switchable from the browser — no SSH, no config file editing. You pick the model that fits your priorities at a given moment. Speed-conscious users tend to run Groq day-to-day and switch to Claude Haiku when they need more nuanced interpretation.
The Alias System — Kacy Knows Your Home by Name
A Home Assistant entity ID like light.wohnzimmer_led_strip_1 is fine for developers, but it is not how anyone actually talks. Kacy Brain's alias system bridges this gap.
Every device gets one or more spoken names — "living room strip", "TV light", "the couch lamp" — and these are mapped to their exact entity IDs in a simple configuration file. When you say "dim the TV light to 40%", Kacy looks up the alias, finds the entity, and calls the correct service.
"Kacy never guesses. If a device name isn't in the alias list, she says so clearly — rather than silently doing the wrong thing."
This explicitness is a deliberate design choice. Fuzzy matching can produce surprising results in a smart home where "the light" could mean any of twenty different entities. The alias system forces clarity while keeping the spoken interface natural.
RAG Memory — Kacy Learns Over Time
Kacy Brain uses a lightweight retrieval-augmented generation (RAG) system built on SQLite and TF-IDF to remember what has worked before. When a command succeeds, the interaction is stored locally. Over time, Kacy gets better at recognising the phrasing patterns specific to your household.
- Stores successful command-response pairs locally in SQLite
- TF-IDF index enables fast semantic similarity lookup
- Similar past commands are included as context in new requests
- Everything lives on your Raspberry Pi — nothing is uploaded
- Memory improves accuracy over weeks without any manual tuning
This is meaningfully different from cloud assistants that learn from aggregated user data. Kacy's memory is entirely yours — it reflects your home, your vocabulary, your preferences. And because the index is a plain SQLite database, you can inspect or clear it whenever you want.
Scene Manager — Automatic Routines That Actually Make Sense
Kacy Brain includes a scene manager that triggers groups of actions based on conditions — presence, time of day, or device state. The scenes ship with sensible defaults, and you configure them from the web interface.
TV turns on → blinds close automatically, LED dimmer sets to 15%, ambient mode activates.
Person detected at home → hallway lights on, thermostat adjusted, welcome audio plays.
Blinds rise at wake time, coffee machine starts, radio turns on in the kitchen.
No one home → all lights off, standby sockets cut, blinds adjust for privacy.
Scenes are defined in plain JSON and executed via Home Assistant's native service calls. There is no proprietary cloud routine engine behind this — it is just Home Assistant, orchestrated intelligently.
Completely Local — What That Actually Means
"Local" is used loosely in the smart home space. With Kacy Brain, it has a specific, verifiable meaning.
- Voice recording and wake word detection run entirely on-device using openWakeWord and Whisper STT. No audio is sent anywhere.
- Device control goes through Home Assistant's local API. No cloud relay, no Nabu Casa required.
- Your alias list and memory database live on the Raspberry Pi's SD card.
- Only the transcribed text of your request is sent to the AI API (Anthropic or Groq) — not audio, not your device list, not your name.
- The AI response is processed locally and never logged or stored by Kacy.
The one external dependency is the AI inference API. If you use Groq's free tier, you are sending anonymised text queries to Groq's servers. If that is a concern, you can run a local model via Ollama instead — though response quality and speed will vary with your hardware.
"Your voice data stays in your home network. Your device names stay on your hardware. Your patterns stay in your database."
Multi-Channel Control — More Than One Way to Talk to Kacy
Voice is the primary interface, but Kacy Brain is not limited to it. There are four ways to send commands, each suited to different situations.
All four channels funnel through the same backend. The AI context, the alias list, and the memory are shared — so it does not matter which channel you use, Kacy's knowledge of your home is always the same.
Operating Costs — What You Actually Pay
One of the recurring frustrations with smart home products is the hidden cost structure: hardware upfront, subscription ongoing, cloud lock-in forever. Kacy Brain was designed around a different model.
| Item | Cost | Notes |
|---|---|---|
| Groq API (Llama 3.3 70B) | Free | Free tier covers typical household usage comfortably |
| Claude Haiku (Anthropic) | ~€2–5 / month | Depends on usage; light use stays well under €3 |
| Raspberry Pi 4 (4 GB) | ~€55 One-time | Sourced separately; any RPi 4 or 5 works |
| M5Stack ATOM Echo | ~€15 One-time | Wake word microphone; optional if you use HA Assist |
| Kacy Brain license | €159 One-time | Includes all updates; license does not expire |
If you choose Groq as your AI backend and already have a Raspberry Pi, the ongoing running cost is effectively zero. The software license is a one-time purchase with no annual renewal. You own what you buy.
Installation — One Command, About 20 Minutes
Kacy Brain is designed to be installed without needing to understand Python environments, systemd services, or Home Assistant internals. The setup script handles everything: dependencies, configuration scaffolding, service registration, and initial alias setup.
You need a Raspberry Pi on the same network as your Home Assistant instance, a Long-Lived Access Token from HA, and your AI API key. Then run:
The installer will prompt you for your Home Assistant URL, your access token, and your chosen AI provider's API key. It then runs through the setup, starts the Kacy service, and confirms everything is working. Total time from a fresh Raspberry Pi OS install: roughly 20 minutes.
Kacy also updates itself. Every night at 3:00 a.m., an automated job checks for new versions and applies them silently. You always have the latest features and security fixes without lifting a finger. If something goes wrong during an update, Kacy sends you a Telegram notification.
If you prefer not to run the command yourself, the optional setup service (€139 one-time) covers a full remote installation — you end up with a working system and no terminal session required.
Who Is Kacy Brain For?
Kacy Brain is not for everyone, and that is intentional. If you are happy with Alexa or Google Home and do not mind your voice interactions being processed in the cloud, you already have a working solution.
Kacy Brain is for the person who has built out a Home Assistant setup and wants the last missing piece: a voice layer that actually understands intent, respects privacy, and gets smarter over time without sending data to a corporation. It is for the user who finds rigid command phrases frustrating, or who has tried automations and found them brittle compared to just saying what you want.
"The best smart home assistant is one that disappears into the background — you just talk, and things happen. Kacy Brain gets close to that."
It is also, genuinely, a technical project. You will need a Raspberry Pi, a Home Assistant instance, and enough comfort with a terminal to run a script and enter a few configuration values. It is not complex — but it is not plug-and-play in the way a smart speaker is.
If that description fits you, Kacy Brain is worth the time. The alias system keeps it predictable. The RAG memory makes it progressively smarter. The local architecture keeps your data where it belongs. And the one-time license model means you are not renting it month by month from someone else's cloud.