# PropTic AI — The agentic OS for property management

> AI maintenance dispatcher for large property management firms, built entirely on
> Google Cloud. A tenant reports a problem with one photo; PropTic's agents diagnose
> it, source and phone-call technicians, collect competing bids, pick the best quote,
> schedule the job, verify the work, and release payment — with the property manager
> supervising by exception instead of coordinating by hand.

Contact: taha@proptic.ai · https://proptic.ai

## The business

**Problem.** Large property management firms staff dedicated maintenance-coordination
teams whose work is phone tag: taking tenant reports, calling contractors, waiting for
callbacks, comparing quotes, scheduling, and following up. It is slow, expensive, and
the first available contractor usually wins regardless of price.

**Solution.** PropTic replaces that coordination loop with AI agents. The firm keeps
full visibility and control through a dashboard; the day-to-day work — diagnosis,
sourcing, outreach calls, bid comparison, scheduling, verification, payout — runs
autonomously.

**Traction.** Pilot customer with 4,000+ units under management; additional firms
onboarding, reaching $20k MRR next month as current onboarding completes. About 30
seconds from tenant photo to a confirmed AI diagnosis. Zero
per-ticket approvals: property managers steer by exception, not by clicking
"approve" on every ticket. Two-track model: a public no-login sandbox demo (real AI, safety-railed
outreach) is the sales tool; the identical codebase, flipped to live mode, is the
product. Onboarding a customer is a configuration change, not a deployment.

**Business model.** SaaS subscriptions billed per unit under management (Stripe
Billing), plus payment facilitation to technicians (Stripe Connect, separate charges &
transfers so payout releases only after the work is verified).

**Why it wins.**
- Firms cut a payroll line, not just hours.
- Bids are collected in parallel from the firm's trusted technicians AND web-sourced
  ones (Google Places + Routes, quality-gated on rating, review count, and review
  content) — every job settles at a competitive quote.
- Zero-approval operations: managers configure policy and intervene by exception
  (a conversational Copilot agent can act on any ticket); they never click "approve"
  per ticket.

## Founders

PropTic is built by the two sides of its own problem: one founder from the industry
that buys it, one from the discipline that makes it work. (Contact for both:
taha@proptic.ai.)

- **Co-founder & CEO — real estate.** Licensed real-estate professional with 5+ years
  in the market and over $70M in closed deals. Brings an operator network across
  property-management firms — the exact customer base PropTic sells into.
- **Co-founder & CTO — production AI.** AI engineer at a Fortune 120 company.
  Previously solution architect and product manager at an AI search-engine startup.

## The product flow (one ticket, end to end)

1. **Report** — tenant opens a tokenized PWA (no login), sends a photo + one line.
   Photo uploads to Cloud Storage via signed URL.
2. **Diagnose** — Gemini Flash on Vertex AI reads the photos and the note (forced
   tool-call, structured output): category, urgency, severity, and a plain-language
   description written for the tenant.
3. **Tenant confirms** — human-in-the-loop gate: the tenant reviews and can edit the
   AI's description before anyone is contacted. Life-safety emergencies (gas, fire,
   flooding — keyword-checked in code before any model call) skip the gate and
   dispatch immediately.
4. **Source** — dual track, in parallel: the firm's trusted technicians are contacted
   immediately; web candidates come from Places search, pass a quality gate
   (rating ≥ 4.0, ≥ 10 reviews, review-content signals), and are ranked with real
   drive-times from Routes API.
5. **Outreach** — the AI phone-calls the top candidates (Bland.ai voice agents; every
   external side-effect goes through one dispatch module with idempotency keys), takes
   a verbal yes, and follows up by SMS with a one-tap tokenized bid form — photos,
   chat, live location, and payment onboarding ride the same link.
6. **Collect & decide** — replies and transcripts are parsed to structured bids by
   Gemini Flash-Lite. A deterministic ranker (earliest start at best price,
   trusted-technician bonus, urgency-adaptive weights) picks the winner; Gemini Pro
   sanity-checks for scope mismatches and writes the plain-language rationale shown to
   the property manager.
7. **Execute & verify** — scheduling, live technician location, and tenant chat run
   over Firestore realtime. The technician marks work done; the tenant confirms the
   fix.
8. **Pay** — Stripe Connect separate charge & transfer releases payout only after
   verification.

Everything above is observable: an admin trace view replays any ticket in any org down
to the raw model calls, and a per-ticket timeline streams to the property manager's
dashboard live.

### A ticket, replayed (the landing page's hero)

The hero of proptic.ai shows a real shape of that observability — a sandbox ticket
replayed from its audit trace, every state transition with its receipt:

```
TICKET S-1042 · UNIT 4B                       SANDBOX REPLAY
14:02:11  photo received        1 photo · "leak under sink"
14:02:38  gemini flash          supply-line leak · urgency high
14:03:04  tenant confirmed      diagnosis approved
14:03:09  sourcing              6 plumbers · rating + drive time
14:07:52  ai call · plumber #2  2m 14s · verbal yes
14:21:30  bids collected        $240 · $210 · $185
14:21:33  winner selected       $185 · rationale logged
16:48:07  work verified         completion photos match
16:48:12  payout released       $185.00 → technician
```

## AI architecture

- **One gateway, no exceptions.** Application code never imports a model SDK. Every
  call goes through a single AI gateway that: loads the active prompt from a versioned
  prompt registry, routes by capability tier, forces structured output via tool-use
  (never free-text JSON), and writes a full audit row (model, cost, latency,
  confidence, prompt version) per call.
- **Tiered routing on Vertex AI Gemini.** Flash for multimodal diagnosis and volume
  tasks; Pro for dispatch decisions; Flash-Lite for extraction. The router works on
  tiers, never hardcoded prices — repriced at decision time as model pricing moves.
- **Deterministic workflow, LLM judgment inside steps.** The ticket lifecycle is a
  Cloud Tasks-driven state machine with idempotent, retry-safe steps — not an
  open-ended agent loop. Code enforces safety rules (emergency keywords) before any
  model is consulted.
- **Evals steer production.** A golden set plus an AI judge score every model arm.
  Urgency-adaptive ranking shipped over static weights on evidence (90% vs 75% golden
  accuracy); a cheaper ranking arm was rejected for once accepting a declining bid.
  Recurring in-cloud eval runs are recorded and surfaced in the admin dashboard.
- **Prompts iterate without deploys.** The prompt registry supports draft → test
  against golden set → promote → rollback from the admin UI; voice scripts are
  versioned the same way.
- **A Copilot agent for the property manager.** Voice/text agent with ~11 tools over
  the firm's own data (tickets, technicians, decisions) that can answer "why was this
  technician picked?" and act — cancel a ticket, update the voice script.

## Google Cloud architecture

PropTic is GCP-native end to end: two projects (proptic-test, proptic-prod)
provisioned by Terraform, deployed by Cloud Build via GitHub OIDC / Workload Identity
Federation — no service-account keys exist anywhere.

| Service | Role |
| --- | --- |
| Vertex AI (Gemini Flash / Pro / Flash-Lite) | Every model call, routed by tier through our AI gateway |
| Cloud Run | All three deployables: Next.js web, FastAPI API, async worker (private, Cloud Tasks-invoked); scale-to-zero between tickets |
| Cloud SQL Postgres 16 | System of record; multi-tenant row-level security (FORCE RLS, non-superuser role, org-scoped context per request) tested in CI |
| Cloud Tasks | Drives the ticket state machine; idempotent retry-safe steps |
| Firestore | Realtime read-model: live status, technician location, chat — no polling; Postgres remains source of truth |
| Cloud Storage | Tenant photos and completion evidence via signed URLs; grounds Gemini's diagnosis |
| Identity Platform (Firebase Auth) | Property-manager sign-in and org membership; tokenized no-login flows for tenants/technicians |
| Cloud Build + Artifact Registry | CI/CD: auto-deploy to test, gated canary to prod, synthetic-ticket smoke test before traffic shift |
| Secret Manager | All credentials at runtime; GitHub OIDC for deploys |
| Places API + Routes API | Technician discovery, quality gating, drive-time ranking |
| Cloud Logging / Monitoring | Structured logs labeled org/ticket; powers the admin trace and alerting |
| Cloud Scheduler | Sandbox heartbeat and recurring eval runs |

**Scale posture.** Row-level security means tenant isolation costs nothing per
customer; Cloud Run scales horizontally; the documented scale path (min-instances,
PgBouncer, read replicas, table partitions, Memorystore) is a set of dials, not a
re-architecture. The platform is designed to carry millions of units at near-flat
marginal cost.

**Engineering discipline.**
- All money in integer cents; all time UTC.
- Every external side-effect (SMS, call, payment) passes one dispatch module with an
  idempotency key; sandbox safety rails are enforced at that final hop.
- Migrations are append-only and numbered; RLS isolation is a CI test.
- Every caught production incident becomes a CI/CD gate.

## Why Google Cloud (for the Google for Startups application)

PropTic chose GCP because the product is, at its core, a multimodal AI workflow — and
Vertex AI Gemini's Flash/Pro/Lite spread maps exactly onto our cost-tiered gateway.
Photo-grounded diagnosis (Flash multimodal), high-stakes decision verification (Pro),
and high-volume extraction (Flash-Lite) run on one platform with one auth model,
next to the Cloud Run services and Cloud SQL data they operate on. Our growth drives
GCP consumption directly: every new unit under management adds AI calls (Vertex),
workflow executions (Cloud Tasks/Run), realtime traffic (Firestore), and storage
(GCS, Cloud SQL). We are hiring against a roadmap — inbound tenant voice hotline,
vision-based completion verification, PMS integrations — that deepens Vertex AI usage
in every phase.
