It knows who just walked in.

An always-on AI terminal for one room in your house. It sees you, greets you by name, listens when you speak, and answers out loud. Runs on your own hardware, on a home server with a GPU.

Open source · Apache-2.0 · about $200 in parts

Personal, non-commercial project. "ComStar" and the starburst are BattleTech IP, used affectionately.

Walk up. Get answered.

The product is a sequence. These timestamps are the latency budget COMSTAR is built to defend.

1

You walk in

The camera sees a person. Nothing has been recorded.

2

It recognises you

Your face opens your session, with your memory and your tools.

3

You ask

"Hey COMSTAR, what's on my calendar this afternoon?"

4

It answers

Out loud, while the emblem pulses with the words.

Most of that is the agent thinking on the GPU host, not the Pi. Rough target split: face match on the server in about a second, speech and tool calls take most of the rest, then TTS comes back for playback on the terminal. Simple questions land in six seconds; anything that has to call out to your calendar or your house takes longer.

Target times. Labelled until they have been measured with a real walk-up.

Say this, it does that

Real things you can ask. Replies are what the agent does, not marketing copy.

  • “What's on my calendar this afternoon?”

    Reads your next three events.

  • “Did Sarah reply to my email yet?”

    Checks your inbox and summarises.

  • “Turn off the kitchen lights”

    Home Assistant, instantly.

  • “Is anyone else in the room?”

    Actually looks, and tells you.

    Only COMSTAR does this
  • “Turn it down a bit”

    Adjusts its own speaker volume.

  • “Go to sleep”

    Goes dormant until you say the wake word.

  • “What did we decide about the deck last week?”

    Recalls it from your session memory.

    Only COMSTAR does this

Every other smart display waits to be spoken to.

An Echo Show has a camera. A Nest Hub has a camera. Neither one changes who it is when you walk up.

COMSTAR does. The face it recognises becomes the identity of the conversation, so your history, your calendar, your mail and your smart home are yours. Your partner walks up and gets theirs.

A guest walks up and gets a guest's version: it will talk to them, and it will not touch your calendar, your mail, or your lights.

Nobody has to log in. Nobody has to say a name. It just knows.

YouFull calendar · mail · lights · memory
Your partnerTheir session · their tools · their history
A guestTalks. No calendar. No mail. No lights.

Capabilities

Greets you by name

Face recognition runs the moment someone enters frame. No wake word needed to be noticed.

Keeps talking after the first question

Ask a follow-up for ten seconds after any answer without repeating the wake word.

Reads your calendar and mail

Pair Google once from the screen with a QR code. Guests can’t.

Runs your house

Home Assistant, and anything else you expose as a tool.

Can look around the room

Vision is a tool it can decide to use mid-answer, not a fixed prompt.

Shows what it's doing

The emblem tells you at a glance: idle, watching, listening, thinking, speaking.

Goes to sleep when asked

Say so and it goes dormant until the wake word. Not a setting buried in an app.

Wears whatever face you give it

Five emblems ship. It's an SVG file. Change it.

Stays reachable when the cable is out

If ethernet and Wi-Fi client are both down, it opens a temporary setup hotspot so you can join and open the ops console from a phone.

Talks to the brain over mutual TLS

Pair once with a one-time token. Client certificates stay on the terminal; speech sidecars stay on the LAN.

Nothing leaves your house.

Inside your house

  • Wake word detection
  • Camera frames
  • Your face
  • Your voice
  • Transcripts
  • The model
  • Your calendar and mail

Leaving your house

  • Nothing from the device.
  • No account.
  • No subscription.
  • No product telemetry.
  • No vendor cloud.

The wake word runs on the terminal itself. Audio sits in memory and is never written to disk. Nothing is transmitted until you have actually addressed it. Pairing material for the orchestration engine stays on the device under a local data directory.

There is a hardware mute. Software mute is not a promise you can make to a guest standing in your kitchen.

You can unplug your router and it still answers.

That promise is about the device on your LAN. This documentation site uses Google Analytics so we can see whether anyone reads it.

The face is an SVG. The brain is rewriteable.

The voice is a config line. COMSTAR is a face for agentic-orchestration, so anything you can teach that engine, this thing can say out loud. Swap the wake word. Swap the model. Add a tool. Point it at a different orchestrator entirely. It’s Apache-2.0. Nothing is gated.

About $200 and a weekend

  • Raspberry Pi 4 (4GB)$55
  • USB webcam$30
  • Microphone (ReSpeaker Lite recommended)$25
  • Small HDMI panel$50
  • Powered speakers$20
  • microSD, USB-C power supply, cabling$20

Terminal total $200

Plus: a home server with an NVIDIA GPU.

These are the bring-up parts. Substitutes are welcome. See Hardware for detail.

The GPU box is the real requirement. COMSTAR is a thin terminal: the Pi handles capture and display, and a machine with an NVIDIA card does the thinking, seeing and speaking. If you already run a home server with a GPU for Frigate, Ollama, or Plex transcoding, you have it. If you don’t, that’s the cost of the project.

Pre-alpha. Here is exactly what that means.

Working now

  • Person detection and face recognition
  • Identity-mapped sessions
  • Attention state machine
  • Orchestration over mutual TLS on the LAN
  • Speech in and out
  • Avatar, Google pairing, terminal control
  • Ops console: network, road VPN, pairing
  • Offline setup hotspot when the Pi has no uplink

Not finished

  • Wake word not trained yet: bring-up uses proximity plus a key press until the model is ready
  • Room-distance microphone testing not done
  • No 24-hour soak test yet
  • One person has used it

If you build one this month, you are building a preview. That is the honest position, and it’s why every decision is written down: the architecture records, the interface contracts, the test plan, and a tracker that says what percentage of each milestone is done.

Next up: wake-word training, then the room-distance mic test, then a walk-up demo.

First phaseRoughly three quarters through the first phase

Last commit: 2026-08-13 · Roughly three quarters through the first phase · tracker

Built on

Proto Hologram proved that an embodied presence in a room is categorically different from a screen. It costs between $10,000 and $250,000, runs a closed operating system, and will not let you put your own agent behind it. COMSTAR is not a volumetric display. It is a cheap HDMI panel and a live SVG emblem that still gets the presence right at a fraction of the cost. This is the open version.

Vision runs through CodeProject.AI because one GPU service already does person detection and face recognition on the LAN. Speech and wake use the smaller single-purpose stacks alongside it.

Questions

Can this replace my Echo Show?

No. It does not do music streaming, shopping, phone timers, or third-party skills ecosystems. What it does that they cannot: recognise who walked in, open a per-person agent session with their memory and tools, look around the room mid-answer, and stay entirely on your LAN.

Do I need an NVIDIA GPU?

Yes, effectively. The Pi is a thin terminal. Vision, preferred speech, and orchestration run on a machine with a GPU. Without one you can still develop on a Mac with local fallbacks, but the production path assumes an NVIDIA GPU host on your LAN.

How fast is it, really?

The budget is under 15 seconds end-to-end, ideally under 6. Orchestration (tool calls) dominates. STT is about 1 to 5 s depending on GPU host versus the Pi's local fallback. Numbers on the walk-up strip are targets until they have been measured with a real walk-up.

Is it always recording?

No. The wake word runs locally on the terminal. Capture audio lives in a ring buffer in memory and is not written to disk. Nothing is sent for transcription until you have actually addressed it.

What about my guests?

An unrecognised face opens a restricted guest session automatically. No login, no enrollment. It will talk. It will not touch your calendar, mail, or smart-home tools. That is the default on a face miss, not a separate mode you configure.

What if two people are in the room?

Identity resolves by repeated face votes and then holds for a short TTL. One active session at a time. If both of you are in frame, the stronger match wins; when that person leaves and the TTL expires, the other can take over. Guests never inherit someone else's tools.

What languages does it speak?

Bring-up is English. Speech in and out ride Whisper and Piper (or the GPU speech sidecars), so other languages those models support are possible by configuration. They are not the tested path yet.

Can I use a different LLM?

Yes. The orchestrator is model-agnostic. Point agentic-orchestration at whatever backend you already run.

Does this website track me?

This documentation site uses Google Analytics. The COMSTAR device on your LAN does not phone home and has no product telemetry. Different machines, different promises.

Why is it called COMSTAR?

BattleTech. This is a personal, non-commercial project. “ComStar” and the ComStar starburst are BattleTech IP (Topps / Catalyst Game Labs), used affectionately.

What if the Pi has no network?

It brings up a temporary open Wi-Fi hotspot named after the device, hands out addresses around 10.87.65.1, and shows a QR on the screen for the ops console. Join the hotspot, then scan. The admin token still gates the UI. Turn the hotspot off with an environment flag when you do not want it.

How does it authenticate to the AI server?

On the production LAN path, orchestration uses HTTPS with a client certificate enrolled once from the ops console (or a one-time CLI enroll). Certificates live on the device and are never committed to git. Speech services on the same host remain ordinary LAN HTTP.

Can I buy one?

No. It is a build. The parts list and getting-started guide are free and ungated.

Why not just use Home Assistant Voice?

You should, if what you want is a reliable local voice assistant for the house. Voice Preview Edition is a real product with real support, and today it is the better voice controller. COMSTAR is a different thing: an addressable presence with identity and an agent behind it. Buy Voice PE for lights and timers. Build COMSTAR if you want something that knows who just walked in.

Specifications

TerminalRaspberry Pi 4 Model B, 4 GB
FormLab bring-up: HDMI panel with the Pi nearby. No finished enclosure or wall mount yet.
Power (terminal)Roughly 8 to 12 W for Pi, panel, and speakers. The GPU host is separate and much higher.
CameraUVC webcam (bring-up: Logitech C525): vision only
MicrophoneDedicated array preferred (ReSpeaker Lite / XMOS); webcam mic for bring-up only
DisplayHDMI panel, roughly 800×480 to 1280×720
Audio outHDMI or powered speakers, played by the kiosk browser
AI serverNVIDIA GPU host: CodeProject.AI, agentic-orchestration, preferred speech sidecars
Ports (Pi)Bridge HTTP :8776 · kiosk WS :8777 · audio WS :8778
Ports (AI server)Orchestration HTTPS :8765 (mutual TLS) · CodeProject.AI :32168 · STT :8090 · TTS :8091
LanguagesDart (bridge) · Python (audio, speech) · Chromium kiosk
LicenceApache-2.0

About the builder

Same craft. Different room.

COMSTAR is built by Zlatko Lakisic. Two decades of enterprise architecture taught the same lessons this terminal runs on: clear boundaries, local control, and systems you can explain when they misbehave.

Applying those principles at home keeps the craft honest. A room will not forgive a clever design that fails when someone walks in.

If you want the professional trail, it is on LinkedIn. The source of truth for this project lives on GitHub.