FrontDoor Concierge transforms smart doorbells from passive notification buzzers into an intelligent front-porch concierge and security guardian. Built with Amazon Bedrock (Claude 3.5 Sonnet Multimodal Vision), Ring's Developer Ecosystem via ring-client-api, and a Self-Hosted Model Context Protocol (MCP) Server (Spec 2025-11-25 / Streamable HTTP) for Alexa+, it continuously perceives visitors, identifies delivery couriers, computes real-time porch piracy risk scores, generates 1-time courier smart lock PINs, and powers conversational Alexa+ voice agent workflows.
| Hackathon Track / Prize | Implementation Details & Qualification |
|---|---|
| Ring Track (Primary Track) | Direct integration with Ring doorbells using ring-client-api. Ingests doorbell presses, motion events, person detections, and live camera snapshot frames with a zero-setup fallback simulator for judges. |
| Alexa+ Track (Primary Track) | Built a Self-Hosted Model Context Protocol (MCP) Server (conforming to spec 2025-11-25, Streamable HTTP & JSON-RPC 2.0). Exposes 6 actionable tools and resources to Alexa+ agents, complete with an in-dashboard interactive Alexa+ voice simulator. |
| AWS Builder Mini-Challenge | Full integration with Amazon Bedrock Runtime SDK (@aws-sdk/client-bedrock-runtime) utilizing anthropic.claude-3-5-sonnet-20241022-v2:0 with vision capabilities for zero-shot carrier detection, package dimension estimation, visitor intent classification, and porch piracy risk scoring. |
| Open Source Mini-Challenge | Distributed under the permissive MIT License with modular repository architecture, comprehensive documentation, and sample datasets. |
| Friction Log Bonus (+10%) | Comprehensive FRICTION_LOG.md covering Headless Ring 2FA OAuth, MCP Streamable HTTP protocols, and AWS Bedrock multimodal payload serialization. |
flowchart TB
subgraph Ingestion ["1. Event Ingestion Layer"]
R1["Ring Video Doorbell / Sensors"] --> API["ring-client-api Client"]
SIM["Interactive Scenario Injector"] --> API
end
subgraph Intelligence ["2. AI Vision & Inference Layer"]
API --> BEDROCK["Amazon Bedrock Client"]
BEDROCK --> CLAUDE["Claude 3.5 Sonnet Multimodal"]
CLAUDE --> PARSE["JSON Extraction & Risk Scoring (0-10)"]
end
subgraph MCP ["3. Alexa+ Model Context Protocol (MCP) Server"]
PARSE --> STORE["Event Store (In-Memory + JSON)"]
STORE --> MCPSRV["MCP Server :3001/mcp (Spec 2025-11-25)"]
MCPSRV --> TOOLS["6 MCP Tools (Delivery, PIN, Status, Siren)"]
MCPSRV --> SSE["Streamable HTTP & SSE (/mcp/stream)"]
end
subgraph Distribution ["4. Real-Time Streaming"]
STORE --> WS["WebSocket Hub (:3001)"]
end
subgraph Presentation ["5. React 19 Frontend Dashboard"]
WS --> UI["Security Command Center (:5173)"]
UI --> RADAR["Live Camera & HUD Scanlines"]
UI --> TTS["Web Speech API Audio Synthesizer"]
UI --> TIMELINE["Interactive Parcel Timeline"]
UI --> ALEXACONSOLE["Alexa+ Voice & MCP Protocol Inspector"]
UI --> LOCKS["Smart Lock One-Time PIN Hub"]
end
The self-hosted MCP server exposes 6 high-utility tools to Alexa+ and agentic skills via POST /mcp (Streamable HTTP):
check_front_door_status: Inspects live camera state, active threats, and recent porch events.inspect_latest_delivery: Queries courier identity (Amazon, UPS, FedEx), package size, delivery timestamp, and Bedrock confidence.speak_to_visitor: Delivers an audible instruction through the Ring doorbell two-way speaker.generate_smart_lock_pin: Creates a temporary 1-time access PIN (e.g. 15-minute PIN) for trusted couriers or guests to unlock the porch parcel box or gate.escalate_threat_alert: Triggers high-risk emergency protocol (90dB siren, emergency mobile push notification, and evidence snapshot).query_daily_analytics: Aggregates today's delivery metrics, courier breakdown, and security alerts.
- Autonomous Courier Identification:
- Classifies uniforms and packages across Amazon Logistics, UPS, FedEx, USPS, and DHL with confidence metrics.
- Porch Piracy & Threat Scoring (0–10):
- Assesses dwell time, body posture, face concealment, and package tampering to compute an actionable risk score.
- Triggers dynamic red alert pulses, sirens, and audio warnings if risk exceeds safety thresholds.
- Conversational Alexa+ Voice & MCP Simulator:
- Web-based conversational agent simulator with speech-to-text / text-to-speech.
- Interactive Live MCP JSON-RPC 2.0 Payload Inspector showing the exact request and response envelopes in real time.
- Smart Lock & Access Control Hub:
- Generates temporary, time-decaying 4-digit PINs for delivery couriers to unlock porch delivery boxes.
- Resilient Dual-Mode Operation:
- Production Mode: Connects directly to authenticated Ring accounts via
RING_REFRESH_TOKENto monitor actual hardware doorbells and camera snapshots. - Simulator Mode: Fully operational standalone experience for judges, equipped with 5 pre-configured scenarios (Doorbell Delivery, Motion Alert, Package Dropped, Visitor Arrived, Suspicious Threat).
- Production Mode: Connects directly to authenticated Ring accounts via
- Node.js: v18.0.0 or later
- npm: v9.0.0 or later
- (Optional) AWS Credentials with access to Bedrock (
us-east-1recommended) - (Optional) Ring Account Refresh Token
Clone the repository and install all dependencies:
# From frontdoor-concierge root
npm install
cd server && npm install
cd ../client && npm install
cd ..Copy the example environment configuration in the project root:
cp .env.example .envConfigure your credentials in .env:
# AWS Configuration (Optional: mock engine activates automatically if omitted)
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
BEDROCK_MODEL_ID=anthropic.claude-3-5-sonnet-20241022-v2:0
# Ring Credentials (Optional: launches simulator mode if omitted)
RING_REFRESH_TOKEN=your_token
# Server & Client Ports
PORT=3001
CLIENT_URL=http://localhost:5173Run both the backend API and frontend Vite dev server concurrently:
npm run dev- Frontend Dashboard: http://localhost:5173
- Backend API & WebSockets: http://localhost:3001
- MCP Server Endpoint: http://localhost:3001/mcp
- MCP SSE Stream: http://localhost:3001/mcp/stream
- Ring Doorbell (Amazon Delivery): Simulates an Amazon Logistics courier ringing the bell. Bedrock detects the uniform, greets the driver, and marks risk as low (1/10).
- Threat Detected (Porch Piracy Attempt): Flags suspicious loitering and package tampering. Instantly triggers screen shake, high-risk banner (9/10), and emergency dispatch recommendations.
- Click the 🗣️ Alexa+ MCP Agent tab in the top navigation bar.
- Click "Alexa, who is at the front door?" ➔ Watch Alexa execute the
check_front_door_statusMCP tool and inspect the JSON-RPC 2.0 payload! - Click "Alexa, generate a PIN for the UPS driver" ➔ Watch Alexa generate a temporary 4-digit smart lock PIN valid for 15 minutes.
- Switch to the 🔐 Smart Lock tab to see active codes and validity countdowns.
- Switch to the ⚡ MCP Tools tab to inspect all 6 registered tool JSON schemas.
Click 🔀 Split View to view the live camera HUD, parcel timeline, and Alexa+ MCP voice console side-by-side.
- Friction Log: FRICTION_LOG.md (+10% judging bonus documented)
- License: MIT License (Open Source mini-challenge qualified)
