← All work

Project Alfred

2026Active

A personal assistant reachable from wherever I already am: a chat client, a panel on the wall, or just talking out loud. It remembers the conversation across all three.

One assistant, several front doors

Alfred isn't tied to one surface. Discord, an ESP32 touch panel, and the Gemini Multimodal Live API are all just bridges into the same assistant. Ask it something in chat, then follow up out loud an hour later, and it's the same conversation.

Every bridge has different latency, a different input type, and a different idea of what a "message" even is, so the core holds its own state rather than leaving it to any one bridge.

Memory that survives the context window

A live voice assistant runs out of context quickly. Alfred handles this with a four-tier memory compression system rather than a single rolling buffer: recent exchanges stay verbatim, older ones are progressively summarised, and durable facts get pulled out to retrieve by relevance instead of replaying every turn.

That way it isn't re-reading its entire history on every request, and it doesn't forget things that mattered three days ago.

The Soul architecture

Persona is its own layer, separate from the model and the tools it calls. Swap a bridge or change the model underneath and the character stays the same.

Acting on the house

It hooks into Home Assistant to read sensor state and control devices directly: lights, thermostats, whatever the request calls for.

Role
Sole developer
Status
In active development
Bridges
Discord, ESP32 panel, Gemini Live API
Stack
Python, Gemini Multimodal Live, RAG, Home Assistant