Skip to content
Go back

Doorman: A Privacy-Focused Agentic Doorbell

Posted on:August 30, 2026
Cat at door
A cat visitor at the door — one of many scenarios Doorman can handle

Inspiration

Doorman started as an idea for a private, local doorbell to replace my Ring.

Commercial smart doorbells often try to lock homeowners into subscription fees. Their cloud-connected cameras can also contribute to much larger surveillance networks. Personally, I wanted to see if my doorbell could take care of solicitors for me in 2026.

I started thinking more seriously about the project after seeing the news around Flock in the United States and the backlash to Ring’s recent Super Bowl ad. It made me think about how much information cameras collect around our homes, who controls that information, and where it eventually ends up.

The concept became much more practical when I picked up an NVIDIA Jetson Orin Nano and found out that it could handle facial recognition and other computer vision workloads locally.

That gave me the foundation for a doorbell with the best of both worlds: the privacy and control of local edge computing, combined with the intelligence and powerful services available through Google Cloud.

What it does

Doorman is an agentic doorbell that can understand what is happening at the door, talk with a visitor, apply household policies, use tools, and report the outcome to the homeowner.

The current demo includes four situations.

Solicitor

When a solicitor approaches the house, Doorman applies the household’s no-soliciting policy. It responds politely and ends the conversation without revealing whether anyone is home.

Water leak

A neighbor reports a serious water leak behind the house. Doorman recognizes that the situation is urgent, asks enough questions to understand what is happening, and sends the homeowner a report through the PWA.

The report includes images and the important details from the conversation. The PWA design also includes a prototype resource card with the water company’s phone number and a link explaining how to request an adjustment after a catastrophic water event.

Package delivery

When someone delivers a package, Doorman recognizes the delivery, records the event locally, acknowledges the visitor, and sends a package-delivery notification through the PWA.

Cat event

Frigate can identify more than people. When a cat enters the frame, it creates a cat-specific event and triggers a special response.

This one is just for fun. It uses locally cached audio, so I am not burning through Gemini credits every time a neighborhood cat visits the door. I’m not sure if this really works because I have yet to test on a real cat. 🐱

How I built it

The system combines local edge computing with Google Cloud services. The Jetson handles the private visual data inside the home, while Google Cloud provides voice, reasoning, workflow state, tools, and homeowner notifications.

Doorman system architecture
Doorman system architecture combining local edge AI with Google Cloud services

Doorman combines a Raspberry Pi doorbell, local inference on the Jetson Orin Nano, and an agent running on Google Cloud.

The physical doorbell uses a Raspberry Pi Zero 2 W connected to the camera and door hardware. Its video stream goes to Frigate running on an NVIDIA Jetson Orin Nano.

Raspberry Pi Zero 2 W and doorbell camera
The Raspberry Pi Zero 2 W, camera, and prototype doorbell hardware

Frigate performs familiar-face recognition directly on the Jetson. Biometric information, complete video recordings, and event history remain inside my home and are stored locally without subscription fees.

NVIDIA Jetson Orin Nano
The NVIDIA Jetson Orin Nano runs Frigate and keeps the private visual record inside the home

The agent uses Gemini 3.7 Flash to understand the situation, maintain the current state of the interaction, apply household policies, use tools, and decide what information should be sent to the homeowner.

Voice is a major part of the experience. Doorman uses the Gemini Live API, powered by Gemini 3.1 Flash Live Preview, for real-time, two-way voice conversations at the door.

Firestore stores the cloud workflow state and reports. The PWA gives the homeowner a place to review events, see images and summaries, and receive notifications.

The Jetson protects the sensitive visual record, while Google Cloud provides the conversational intelligence, reasoning, and connected services that turn each event into a useful response.

Doorman also has clear privacy and safety boundaries. It cannot unlock the door or tell visitors whether the house is occupied. It treats anything a visitor says as untrusted information. Facial-recognition data and the complete local video archive remain on the Jetson.

When Frigate detects a relevant event, selected event information is published through Pub/Sub. A Google ADK agent running on Cloud Run receives the event.

Challenges I faced

The hardest part was working across several pieces of hardware and cloud infrastructure at the same time.

It felt like everything I did had to go through another device. I would make a change on the Raspberry Pi, troubleshoot the connected camera or audio hardware, open logs on the Jetson, and then check what was happening in Google Cloud.

I did not have a good agentic workflow for handling all of that back and forth. Most of the time, I just had a bunch of terminal windows open for the Pi, the Jetson, Cloud Run, and local development.

I went back and forth on whether it was worth pausing feature development to build tools for working across all these systems. In the end, I wish I had invested that time earlier. As the project gained more pieces, it became increasingly difficult to understand where a problem was happening.

The physical prototype created its own challenges. When I carried the demo outside, I was a little too rough with it and accidentally ripped out the camera. That became one more thing to repair while trying to finish the software and record the demos.

Scope was another major challenge. There were many more features that I wanted to add. Even working on the project almost every night, I could not get to everything.

Every feature had to work across the physical hardware, networking, local inference, Google Cloud services, Gemini, and the PWA. Small ideas could quickly turn into work across four or five different parts of the system.

What I learned

The biggest architectural lesson was how useful a clear privacy boundary can be.

Keeping familiar-face recognition, biometric information, and the complete video archive on the Jetson gave me a clear rule for deciding what should happen locally. Google Cloud could then focus on voice interaction, reasoning, workflow state, tools, and homeowner communication.

I also learned how much state and policy matter when building an agent. Doorman needs to follow an interaction from beginning to end. It needs to understand what the visitor is reporting, remember what has already happened, follow household rules, select an action, and communicate the result clearly.

The biggest practical lesson was to invest in observability early. Shared logs, device health checks, event tracing, and repeatable deployment tools would have saved a lot of time.

If I started again, I would create an agentic development workflow for the Raspberry Pi, Jetson, and Google Cloud before the system became complicated. I would want one place to inspect logs, check device health, deploy changes, and follow an event through the entire architecture.

I also learned to respect the physical side of the prototype. Cable management and a durable enclosure matter quite a bit when you are carrying a doorbell outside and trying to record a demo.

What I am proud of

Most of all, I’m proud that I finished this project and “shipped it”. Given my schedule and responsibilities in my day-to-day life, completing a working end-to-end system across real hardware, local AI, and Google Cloud was a significant accomplishment.

It would have been easy to abandon the project midway through, but I pushed through the hardware challenges with many late nights, the multi-system debugging, and scope creep to get Doorman working and demo-ready.

What’s next

Taking a break from this for now. The software foundation is solid, but the user experience and physical durability need work.

I’d like to build a more robust and polished enclosure, refine how the homeowner interacts with the doorbell and its notifications, and improve the overall aesthetic and reliability of the system.

I’m also interested in exploring agent harness integration to better manage the agentic workflow across all the components. A proper framework for orchestrating the Raspberry Pi, Jetson, and Google Cloud together could make the system easier to develop, test, and maintain.

Thank you

A special thank you to my wife for helping me film the demos and bringing the whole project to life on video. Thank you to my brother for 3D printing a custom case for the Jetson Nano, and to my son for letting me borrow his cat stuffy to stand in for a real feline visitor during testing.


This project was entered into the All Things Agentic Hackathon with Google Cloud on Dev.post.