AI-native managed marketplace for home services — one app for plumbing, electrical, cleaning, painting, beauty, appliance repair. Photo + sentence → diagnosed JobScope → transparent quote → vetted pro, with leakage defense at the core.
Home services is a globally fragmented, trust-sensitive market still run on phone calls and word-of-mouth. The managed-marketplace model wins by owning the whole experience — vet, train, price, insure, guarantee — but its existential risk is leakage (the failure that killed Homejoy). Tend is built against that from day one: leak-resistant category anchor, in-app message scan, platform-bundled insurance + outcome guarantee, one-tap rebook-your-pro. And it puts AI where the incumbents still run classical optimization plus one ML model — four composable AI pillars share a single typed JobScope contract.
Customer text + optional photo → typed JobScope (diagnosis, severity, urgency, safety flags, skill, parts, duration, price band, confidence). Mock-first keyword classifier + rule-based escalation today; flips to a multimodal LLM filling the same schema via TEND_USE_LLM_INTAKE.
Hard-constraint filter (license, skill, capacity, Haversine radius) → transparent linear scorer with per-factor breakdown (ETA, rating, reliability, skill, workload, prior-customer). Linear factor contributions are exact Shapley values — the explanation surface is faithful, not post-hoc.
Price book × capped multipliers (complexity, urgency, time-of-day, supply/demand, pro tier) + robust-z anomaly detection. Surge clamped to the region's [floor, cap] band — no trust-destroying surprise bills. Every multiplier shows as a line item.
KYC + liveness onboarding, logistic no-show prediction, post-job multimodal quality, and — the existential one — in-app leakage scan (phone/email/payment-app/coordination phrases). Warn-first / escalate-on-repeat. Every REVIEW verdict routes to an HITL queue, never silent auto-ban.
Intake produces it; Pricing and Matching consume it; Trust gates the pros Matching ranks. Post-job actuals feed back to recalibrate scopes, price bands, and pro reliability — one self-reinforcing loop.
A guarded state machine carries each job requested → matched → accepted → en_route → in_progress → completed → rated, with cancelled / no_show off-ramps. Every move is validated against an explicit allow-table (illegal transitions raise, never corrupt) and appended to an auditable per-booking history. Run it end-to-end with `tend booking "..."` — diagnose, quote, match, then walk the full lifecycle, zero API keys.
Every pillar is a Protocol with a deterministic mock default and a per-pillar use_* flag for a real model. Same JobScope schema, no downstream rewrites. The demo runs end-to-end with zero API keys; flipping a pillar to a real LLM is one env var.
Mock heuristics aren't as accurate as a real LLM on hard edge cases. Acceptable for POC; the flip-to-real path is the production path.
Recurring + trust-heavy + commodity services (weekly cleaning) drift off-platform — that's what killed Homejoy. Tend leads with episodic, specialist, equipment-dependent work (AC repair, plumbing, electrical, deep clean, salon) where the platform's guarantee/insurance/parts-sourcing can't be replicated offline.
TAM is smaller than "all home services" — but the survivable share is higher. Recurring categories are offered with platform-bundled value (pro rotation, insurance) to keep them on-platform.
Currency, locale, taxonomy pack, surge caps, take rate live in a Region object — adding a market is a config entry, not a code change. Demo seeds UAE/Gulf (Justlife is the regional comp); US and India are configured and ready.
Per-region taxonomy packs are scaffolded but not deeply tuned. Acceptable for POC; first-market launch hardens the seed region's pack.
For a customer/pro/ops surface this size, HTMX gives instant interactivity (the diagnose form returns a fully-rendered scope+quote+match fragment in one round-trip) without the SPA tax. One FastAPI service, no separate frontend build.
Next.js will likely re-enter the picture for the consumer mobile app. The backend contract (JSON APIs) is already there for that swap.