

Tutorial: Face-Recognizing Doorbell Greetings with Immich, CompreFace, Home Assistant, UniFi Protect, and Sonos
Building the Doorbell Greeting Workflow This guide implements the configuration described in The Doorbell Knows Who You Are. When the UniFi G4 Doorbell Pro rings, Home Assistant uses a recent face match or requests recognition through CompreFace, plays a personalized greeting through the doorbell, and announces the arrival on the configured Sonos speakers and HomePods. Immich supplies the reference photographs from its labeled photo library, allowing initial enrollment to proceed without a separate session at the door. ...
The Doorbell Knows Who You Are: Immich, CompreFace, UniFi Protect, and Sonos
A Familiar Voice at the Front Door When someone presses the front doorbell, it can now greet a recognized visitor by name: “Welcome, Sam.” Inside the house, the Sonos speakers and HomePods announce, “Sam Carter is at the front door.” An unrecognized visitor receives no spoken greeting from the doorbell; the household receives a neutral announcement during the configured waking hours. The reference faces come from our family photo library, where Immich already maintains the names and photographs needed for enrollment. ...
Hermes: Encrypted Conversation, Deliberate Authority
Introduction Hermes is the agent I use when a conversation has to reach the infrastructure. I address @hermes:white.fm in an end-to-end encrypted Matrix room. Hermes reasons through the local model route in my cluster, then invokes a finite set of tools against services with their own operational boundaries. Three previous pieces describe the components in isolation: the local Ollama router, the encrypted Matrix notification hub, and the MCP server fleet. Hermes is where those systems meet. Matrix provides the private conversation, Ollama provides the default inference path, and Model Context Protocol (MCP) servers supply the functions through which an answer may become an action. ...
One Encrypted Room Per Signal: Matrix as a Notification Hub on Kubernetes
Introduction Three years ago I wrote about running a Matrix server with Docker Compose, where the interesting part was the federation-over-Cloudflare-tunnel arrangement and the observation that a Matrix homeserver makes a serviceable notification hub. That deployment has since moved into my RKE2 cluster, and the notification role has grown from a convenience into the primary reason the homeserver exists. Nearly every machine-generated message in my infrastructure now arrives in an end-to-end encrypted Matrix room. Feed digests from FreshRSS, Prometheus alerts, GitOps deployment results, Falco runtime detections, Authentik authentication events, media-library activity, uptime state changes, weather alerts, and notifications from the UniFi and Synology appliances all terminate in rooms whose contents the homeserver itself cannot read. Two AI agents also use encrypted Matrix rooms, each reserved for direct conversation with the agent. ...
Turning an RSS Reader Into an Intelligence Pipeline
Introduction An RSS reader is very good at collecting material and almost useless at telling me what deserves the next ten minutes of my day. On a busy morning, a hundred stories can arrive, four may alter a customer conversation or an account plan, and the rest bury them under wire copy, recycled commentary, and headlines whose relationship to the underlying event is thin. Keyword alerts do not repair that problem. They report a word’s presence, then happily ring for a passing reference, a syndicated rewrite, an executive departure, a funding round, and a lawsuit with no discernment among them. The human cost is familiar. An alert stream that repeats itself becomes background noise, and the article that did matter gets read after the meeting for which it would have been useful. ...