All projects
AI-powered Residential Property Maintenance System
End-to-end maintenance dispatcher for managed residential properties. Tenant complaint emails are ingested from Gmail, classified by an AI triage engine (CRITICAL vs ROUTINE) and tagged with the right trade, the address is auto-resolved (with SMS fallback if ambiguous), and a matching contractor is dispatched — all from a React operator dashboard with a full ticket-lifecycle view.
PythonFastAPIReactTypeScriptPostgreSQLn8nOpenAITwilioDocker

What it does
Key features
- Gmail ingestion → AI triage → contractor dispatch — fully automated email-to-job pipeline via n8n workflows
- LLM classifies each ticket as CRITICAL or ROUTINE and tags it with the matching trade (Plumbing, Electrical, HVAC, Locksmith, General)
- Duplicate detection — repeat emails collapse under a parent ticket instead of dispatching twice
- Address resolution with Twilio SMS fallback — tenant is texted to confirm which linked house is affected
- Contractor matching by trade × territory × service rank — Primary first, automatic fallback to Backup
- Operator dashboard with glass-morphism ticket detail, click-to-call/email vendor cards, Google Maps directions
- Multi-house tenants (M2M) with sectors, gates, vehicles, drivers and CCTV cameras
- Society admin: territories and house-types as settings; full CRUD on tenants, houses, vendors
Under the hood
Architecture
FrontendReact 18 + TypeScript + Vite + MUI v6 + React Query — operator dashboard, ticket detail, settings CRUD
BackendFastAPI + Python 3.12 + psycopg — REST API, ticket pipeline, override resolution
DatabasePostgreSQL 15 — tickets, tenants ↔ houses M2M, sectors, contractors; 11 versioned migrations
Automationn8n self-hosted — Gmail Trigger → parse → dedupe → lookup → OpenAI triage → dispatch → acceptance loop
AIOpenAI GPT — structured JSON output (classification, trade, urgency, ambiguity flag, confidence)
CommsTwilio SMS for address confirmation + contractor dispatch; Gmail outbound work orders
DeploymentDocker Compose — frontend, backend, Postgres, n8n on Ubuntu VPS
Interested in work like this?
Get in touch