One system, many ravens.
Each project here has its own page. But none of them is really meant to run alone — they're parts of one system that listens, thinks, remembers, builds, and answers, all on hardware I own. Muninn sits at the center: it's the interface to the brain and the place every request lands; the satellites, the pipeline, and the other ravens are the senses and hands around it. The clearest way to see how they fit is to follow a single spoken sentence all the way through and back.
You say something out loud
From the moment you speak to the moment the house answers — every step is a different raven doing its part.
- A satellite hears you. Heimdall (on a Linux box) or Bifrost (on an Android tablet) is the device in the room — it captures the audio and, in ambient mode, never needs a wake word.
- The voice pipeline makes sense of it. Voice-activity detection finds the speech, speaker identification works out who said it, and streaming transcription turns it into text. When several satellites hear the same thing, an arbitration gate decides which one owns the turn.
- Muninn thinks. The memory raven takes the text — with who and where attached — recalls what it knows about you, picks the right tool (home control, music, web, camera, calendar…), and decides what to do. Small context, deep recall.
- If it's a build, Muninn hands it to Huginn. Ask for code and the job goes onto a queue that the thinking raven works headlessly — it plans, edits, runs the tests, and loops until they pass, then reports back. Memory delegates; Thought builds.
- The answer comes back as speech. The reply is spoken with a natural voice and routed to the same satellite that heard you — ducking the music rather than stopping it, so it lands in the right room.
- And it remembers. In the background, what mattered is extracted into memory, consolidated, linked, and slowly allowed to decay — so the next conversation starts from a system that already knows you.
And that's only the spoken door. The same brain is a message away: Muninn runs as its own service and connects to a self-hosted Matrix server as a client — a bot speaking the Matrix API; they're separate services — so you can reach it from any device, phone, laptop, anywhere, with the exact same memory and the exact same tools. Type a message, or just tap record and send a voice message: it transcribes what you said, answers, and can reply with a spoken voice note of its own. Matrix is also how it reaches you — scheduled nudges, reminders, alerts, and progress from a running Huginn job all arrive as ordinary chat messages. Whether you type or talk, it's one assistant behind a single door.
Matrix was a deliberate choice. It's an open, federated protocol you can host yourself — the same own-your-infrastructure principle as the rest of the flock, so the messaging layer isn't rented either — and it's simply an excellent channel: mature clients on every platform, voice notes, threads, and built-in encryption.
Muninn acts on its own
A request from you is only one way Muninn comes alive. It can also wake itself — which is what makes it reactive rather than a passive assistant that only speaks when spoken to.
- On a schedule — the heartbeat. Cron-style jobs let Muninn run on a timer: proactive check-ins, reminders, recurring tasks, periodic housekeeping. It can start a conversation, not just finish one.
- On events from the house (planned). Home Assistant events — a sensor tripping, a device changing state, an automation firing — will be able to wake Muninn so it can react to what's actually happening in the home, not only to what someone said.
When Muninn acts on its own, it reaches you the same way it answers a question: a Matrix message or a spoken note in the right room. Same brain, same memory, same tools — it just doesn't have to be asked first.
Four layers, one flock
Edge devices at the top, the foundation everything stands on at the bottom, the request flowing straight down the middle and back up.
You — out loud, or by text & voice messages on Matrix
Edge · the satellites
The devices in the room
Senses · the voice pipeline
Turning sound into meaning
Mind · the two ravens
Muninn · Memory orchestrates; Huginn · Thought builds
Foundation · what it all stands on
Owned, not rented
Who does what
▲ Muninn — the orchestrator
The memory raven and the hub of the system. It holds the living memory, talks on Matrix and by voice, and decides which tool — or which other raven — handles each request.
▲ Huginn — the builder
The thinking raven. When something needs to be written and made to work, Muninn hands the job to Huginn, which builds, tests, and verifies it against a real gate before calling it done.
▲ Voice Pipeline — the senses
The self-hosted speech stack that everything hears and speaks through: detection, transcription, speaker identification, and natural text-to-speech, all on local GPUs.
▲ Heimdall + Bifrost — the edge
The two kinds of satellite that put the system in a room: a Linux box and an Android tablet. Each joins as a real, native Home Assistant device — speaking ESPHome's own protocol, not a browser showing a dashboard — so it listens and answers as a first-class device.
▲ Tyr — the identity · planned
A from-scratch OAuth2 / OpenID Connect server, built by hand rather than configured off the shelf. It isn't wired into the system yet — it's there to provide one sign-in for an in-progress web/mobile interface to Muninn, instead of a password per app.
▲ Home & hardware — the ground
Home Assistant is the nervous system to the house; a homelab of GPUs is the muscle. No cloud account sits in the middle, and nothing phones home.
Why it's one system and not five apps
The pieces share a spine. One brain — Muninn — is the place requests land and decisions get made; the other projects are its senses, its hands, and its memory. One identity — Tyr, in progress — will mean a single sign-on instead of a sprawl of logins. One set of hardware — local GPUs and a house wired through Home Assistant — means every model, every voice, and every memory runs on machines I own.
That's the whole point of building it this way: the same conviction in every layer, so capable AI can be owned rather than rented, and look inward at one home instead of outward at everyone's.