Skip to content

Architecture

A multi-agent loop with humans in the middle.

Each ticket is a record. Each agent is a typed function with a structured output schema. Every decision is logged, every action is reversible, and every high-impact step waits for a coordinator or owner.

The six agents

One pipeline, six specialised steps.

A

Intake & Triage

Normalises new work orders. Classifies issue type, severity, and responsibility. Sets SLA target.

B

Cost & Playbook

Predicts P50/P80 cost band against Memphis history. Suggests standard playbook and a vendor shortlist.

C

Workflow Orchestrator

Creates/updates work orders in AppFolio. Assigns vendor by trade, zip, and score. Tracks SLA breaches.

D

Owner Advisory

Generates a short opinionated memo with default decision and a deadline aligned to the owner's timezone.

E

Vendor Quality

Scores vendors on cost variance, rework rate, and tenant satisfaction. Flags anomalies.

F

Portfolio Analytics

Aggregates spend per door, recurring issues, and preventive capex ROI.

System layers

Inbound

AppFolio Stack APIs / partner integrations / unified third-party APIs. Webhook-shaped intake at /api/public/appfolio-webhook. Tenant portal + PMC manual ticket creation.

Core services

Event bus per work order. Canonical ticket service. Vendor registry. Postgres + RLS per PMC. Vector store of past resolutions, leases, SOPs.

AI layer

AI SDK + Lovable AI Gateway. Structured outputs via schemas. Agent orchestrator manages sequencing and retries.

Outbound

Bi-directional sync back to AppFolio work orders and attachments. Email / WhatsApp adapters (stub in v1). Owner and PMC dashboards.

Governance

Per-PMC tenant isolation via row-level security. Complete audit log of every AI and human action. Owner approval thresholds and conservative defaults.

Delivery

Memphis-based coordinators supervise the agents. Time-zone-aware advisory windows for remote owners. White-label friendly contracts with PMCs.

Example workflow

Leaking faucet, 14 seconds end-to-end.

  1. 1Tenant submits ticket with two photos. AppFolio work order created.
  2. 2Intake agent classifies plumbing, medium severity, non-emergency. Tenant-impacting.
  3. 3Cost agent predicts $150–220 from historical Memphis plumbing jobs in the same ZIP.
  4. 4Decision gate: above owner's $100 auto-approve threshold → awaiting_owner.
  5. 5Advisory agent drafts memo: ‘Will proceed with Memphis Plumbing Pros at ~$185 unless you object by 10:00 a.m. tomorrow your local time.’
  6. 6Owner approves in 8 seconds. Orchestrator writes the work order back to AppFolio with the vendor assigned.
  7. 7After completion, Vendor Quality agent updates the vendor's score from actual vs. predicted cost.