All products

AskEaves

I built AskEaves to let an AI assistant understand the house and write automations, with your approval before changes happen.

Format
Self-hosted · Open source
Focus
Voice · AI agents · Home automation
My contribution
Product design and development

The product

AskEaves connects an assistant to the home so it can understand devices and help write automations. You review and approve changes before they happen.

Making voice feel immediate

I want a voice assistant that responds quickly enough to feel natural in conversation. Waiting several seconds for an ordinary house question breaks that flow. The challenge spans the whole turn: understanding the request, reading the relevant state, calling tools and starting the spoken reply.

In one recorded weather-question test, audible speech arrived after 8.6 seconds. Two model calls dominated that delay; ElevenLabs synthesis took 133 milliseconds. That made prompt size, the available tool catalogue and repeated model round trips concrete engineering problems to investigate.

The dashboard streams complete sentences into ElevenLabs as the answer is written, so speech can begin before the entire reply is finished. Faster model options are part of the exploration, alongside measuring where each stage spends its time.

Understanding a changing house

On the server, the house is a continually changing system. Lights, motion sensors, media players and energy equipment report through different vendor APIs. I built plugins that translate those devices into a shared model of entities and capabilities, so the assistant can work with one consistent view.

Integrations such as Hue stream changes as they happen; others refresh through polling. The core maintains the reported state, while WebSockets distribute updates to the dashboard. A physical change to a light or sensor needs to reach that model just as a command from the assistant does.

From devices to decisions

The house core holds the device evidence. The assistant reads it, chooses its next step and turns the result into a reply.

Device plugins

  • HueLights & sensors
  • SolaxEnergy equipment
  • SonosMedia players
Device events or polling

Live house state

Devices, capabilities and reported values in one shared model.

WebSockets keep the dashboard in sync.
Read state and access tools via MCP

Assistant

Your question + current device evidence + available tools.

Decide what to answer or which tool to call. Read the result before continuing.

Act on the house

MCP command → house core → plugin → device.

The device reports its new state back to the core.

Respond to you

Stream the text reply as it is written.

Complete sentences go to ElevenLabs for spoken playback.
The return line closes the loop: commands go out, reported state comes back. This is a simplified architecture diagram; event streams and polling have different update speeds.

Fast decisions with useful context

I’m also exploring decision-making models that take a defined set of rubrics and return the most likely answer. For a routine house request, that offers a way to identify the likely intent and relevant capabilities quickly, while a fuller agent can handle tasks that need more reasoning.

Every new integration adds data and capabilities. Sending the whole house and every tool with every request quickly becomes unwieldy. I’m developing an approach that selects the relevant house context and a smaller set of tools for common requests, with wider discovery available when a task needs it. The assistant needs current device evidence as well as conversation history.

A place to explore

This brings together a personal interest in home automation and my work with AI agents. It is a practical product for exploring responsive voice, live context and useful automation, with the local house core continuing to operate independently of the assistant.

Technology stack

Node.js · TypeScript
The headless home-automation core and device plugins.
React · TanStack Start
The local dashboard and chat interface.
TanStack AI · OpenRouter
The dashboard's assistant and model integration.
ElevenLabs
Streamed spoken replies while the assistant's answer is being written.
MCP · WebSockets
Assistant tools and live device-state updates.
SQLite · Docker
Local storage and self-hosted deployment.

Inside AskEaves

AskEaves home automation assistant website

AskEaves: an open-source home automation project.

Have a product or technical problem in mind?

I can help with a whole build or a focused piece of work.

Work with me