AI property management agent that handles emergency maintenance end-to-end — from an angry guest's phone call to a plumber walking through the door — using real voice calls powered by Gemini.
Vercel x Google DeepMind Hackathon | March 21, 2026
Architecture, implementation plan, and documentation by Ben Shyong
Turnkey Agent automates the entire emergency maintenance workflow for short-term rental properties:
- Guest calls in with an emergency (flooding bathroom, broken AC, etc.)
- Agent triages the issue against 5 years of property maintenance history using vector search
- Agent parallel-calls vendors for quotes — two plumbers simultaneously, each on a real phone call
- AI recommends the best vendor based on price, speed, history, and ratings
- Agent calls the landlord with a recommendation and gets approval
- Agent schedules the repair and creates a calendar event
- Plumber arrives, calls for the door code — agent verifies and provides access
Every interaction is a real phone call — not chat, not a simulation.
| Layer | Technology |
|---|---|
| Voice (Real-time) | Gemini 2.5 Flash Native Audio (Live API) |
| Voice (Async) | Gemini 2.5 Flash TTS |
| Telephony | Twilio Voice + Media Streams |
| Reasoning | Gemini 3.1 Flash |
| Embeddings | Gemini Embedding 2 |
| Database | Supabase (Postgres + pgvector) |
| Auth | BetterAuth |
| Frontend | Next.js 15 on Vercel |
| Orchestration | Vercel AI SDK 6 + Workflow DevKit |
| Scheduling | Google Calendar API |
| Document | Description |
|---|---|
| Architecture | System architecture, tech stack, and component overview |
| Database Schema | Supabase tables, functions, and pgvector setup |
| Voice Engine | Twilio ↔ Gemini Live API bridge and audio pipeline |
| Dashboard | Real-time Next.js dashboard specification |
| Gemini Tools | Function tools registered with the Gemini Live API |
| Seed Data | 5-year maintenance history generation (Phases 1–4) |
| Demo Script | 6-scene demo script with role-player call scripts |
| Team Assignments | Workstreams, timeline, and judge alignment |
| Risk Mitigation | Risk matrix and environment variables |
- Node.js 20+
- Python 3.11+ (for voice bridge)
- Twilio account with a phone number
- Supabase project
- Google AI Studio API key
- Google Calendar service account
cp .env.example .env
# Fill in all values — see docs/risk-mitigation.md for the full list# Install dependencies
npm install
# Set up Supabase schema
# Run the SQL from docs/database-schema.md in your Supabase SQL editor
# Generate and embed seed data
python scripts/embed_and_upload.py
# Start the dashboard
npm run dev
# Start the voice bridge (separate terminal)
python bridge/server.pyPhone Call → Twilio → WebSocket Bridge → Gemini Live API
↕
Function Calling
↕
Supabase ← → Vercel Dashboard
↕
Google Calendar
See the full architecture diagram and detailed docs.
| Workstream | Name |
|---|---|
| Voice Engine (Product Lead / Architect) | Ben Shyong (@Bshyong158) |
| Data Layer | Ayush Ojha (@ayushozha) |
| Dashboard + Landlord UX | Suet Ling Chow (@lingchowc) |
| Orchestration + Glue | Arnav Dewan (@arnxv0) |
Built for the Vercel x Google DeepMind Hackathon, March 2026.
MIT