← Selected work

Flagship · Home & household · State of the art

Anamanti

The soul of your home, given a voice. A private, always-on assistant that lives in the room, not the cloud — running on hardware you already own.

state of the art on-device wake word bring your own brain Rust · Flutter

§ What it is

Anamanti turns a repurposed Amazon Echo Show 8 into a smart display backed by a small home server (an always-on Mac or mini PC) that handles speech-to-text, reasoning, and text-to-speech — all on your own local network. The name comes from the Irish anam an tí, “the soul of the home.”

Its ambition is direct: open-source assistant technology that competes with Google Home and Alexa on speed, and feels more lifelike — without the surveillance, the vendor account, or the always-open mic to someone else’s cloud.

§ Why it’s different

  • Nothing leaves the house until you say the word. The wake word runs on-device; speech, memory, and tools run on your LAN.
  • Bring your own AI brain. Point it at a local model (Ollama / llama.cpp) for a fully offline brain, or at Claude / OpenAI — swappable at runtime with a live model picker.
  • Memory you can hold. Per-person memory is a file on your server you can inspect, edit, or delete. “Remember this.” “Forget that.”
  • It feels alive. Streaming speech that replies within a couple of seconds, multi-turn follow-ups with no repeated wake word, and barge-in so you can interrupt.

§ How it ties everything together

Anamanti is where a lot of my other projects come together. It uses AppSaid for push notifications, Cadora and NextHaul for calendar and the shopping list, Laya-Decision for fast local decisions, and rides on the Echo Show AEC shim for clean always-on audio.

The learning & memory engine behind Anamanti is the same core that powers immediacy-ctx — the same idea about memory, proven on a home and on a codebase.

§ How it’s built

A Flutter (Dart) display UI with a Rust engine bridged via flutter_rust_bridge, cross-compiled for the 32-bit Show 8. A Rust core on the Mac handles the pipeline over the Wyoming Protocol with mDNS discovery; the LLM runs behind one pluggable interface; memory uses SQLite FTS plus an embedded graph+vector store. Whisper for STT, Piper for TTS.

RustFlutter / DartWyoming Protocol Whisper · PiperOllama / ClaudeSQLite · GraphRAG