Vacation Rental Turnover
— STR cleaning dispatch
A two-sided marketplace dispatching cleaning + restocking between Airbnb/Vrbo hosts and local cleaners. Same-day turnover is the promise. iCal calendar sync auto-triggers job creation on guest checkout; photo proof of work; payment release on host approval. Launch in Joshua Tree — concentrated STR density, manageable geography, AB5 compliance landmines faced head-on.
Host
An Airbnb/Vrbo property owner or property manager. Has 1–10 properties (50+ for the future Premium tier). Pays per turnover + optional monthly subscription.
Cleaner
A local independent cleaner or small cleaning business. Builds reputation. Gets paid via Stripe Connect Express on job approval — not 30 days later.
Job
One turnover. Auto-created on calendar checkout event. Lifecycle: queued → claimed → in-progress → submitted (with photos) → approved → payment released.
Every architectural decision serves one promise: a cleaning happens between guest checkout and the next check-in. Failure here breaks host trust irrecoverably. The backup queue and QA photo audit are the safeguards.
Guest checkout
iCal pull from Airbnb/Vrbo. Job created in backend within 30 seconds of the checkout event landing.
Clean starts +1 hr
Cleaning starts 1 hour after checkout. Deadline = 1 hour before next check-in. Host can override per property.
Backup queue · top 3
Top 3 nearby cleaners maintained as backup. 15-min response window. Auto-reassign on no-claim. Cleaner cancels <4 hrs out → backup dispatched.
The single most important diagram for this project. Build Leads coming from the 🟢 projects assume "Mac mini per host." That's wrong. The Mac mini is the operator backbone. Hosts and cleaners are end users of a multi-tenant SaaS layer running on that backbone.
Same canonical 5-agent pattern. QA Agent's photo audit is the differentiator here — Claude Sonnet vision spot-checks submitted photos against the checklist to catch quality failures before the host sees them.
All four channels are in active use, but split differently than other projects: Email + SMS dominate cleaner notifications; Dashboard dominates host workflow; Website Chat = host onboarding; Telegram = ops escalations.
Telegram
Build Lead alerts: failed iCal sync, no-claim escalation, QA Agent photo audit flagged, dispute submitted, Stripe payment issue.
Dashboard
Host: property list, calendar, turnover history, photo review, payment status. Operator: fleet view, cleaner roster, market analytics. Tailnet-only for ops.
Website Chat
Marketing site live chat for host signups. Identity verification kickoff. Property details intake. Hands off to CEO Agent for structured onboarding.
Email + SMS
Cleaner: push notif + SMS on job dispatch, 15-min window. Host: receipt on payment release, dispute reminders, weekly summary email.
From calendar event to payment release. Each transition is enforced by a timer or rule. The 15-min response window is what makes same-day promise viable.
sequenceDiagram
participant Cal as Airbnb/Vrbo iCal
participant Be as Backend
participant Cl as Cleaner App
participant QA as QA Agent (vision)
participant Ho as Host
participant St as Stripe Connect
Cal->>Be: Checkout event detected (≤30s)
Be->>Be: Create Job · status=queued
Be->>Cl: Push + SMS to matched cleaner
Note over Cl,Be: 15-min response window
alt Cleaner claims within 15 min
Cl->>Be: status=claimed
else No claim
Be->>Cl: Auto-reassign to backup #1
Note right of Be: Falls through top 3 backups
end
Cl->>Be: status=in_progress (cleaner on-site)
Cl->>Be: Photo checklist room-by-room
Cl->>Be: Submit job · status=submitted
Be->>QA: Vision spot-check photos vs checklist
alt QA passes
Be->>Ho: Push notification — review photos
alt Host approves within 24h
Ho->>Be: status=approved
else No response in 24h
Be->>Be: Auto-approve · status=approved
end
Be->>St: Release payment · cleaner payout
St-->>Cl: Payout
else QA flags
Be->>Ho: Push — review · QA flag attached
opt Host disputes
Be->>Be: status=disputed · operator review
end
end
The QA Agent runs Claude Sonnet with vision on every submitted job. It compares submitted photos against the property's checklist and flags anomalies before the host sees them. This is what prevents "the one bad clean" from killing host trust (R2).
Two-sided marketplaces fail without supply and demand simultaneously. The Joshua Tree concentrated launch + month-1 free + 30 days manual dispatch solves the chicken-and-egg. Self-reinforcing flywheel kicks in by Month 3–4.
Recruit cleaners
15–20 cleaners via Craigslist + partnerships with local cleaning companies. Persona ID verify + Checkr background check. Bonded.
Onboard hosts
10 hosts beta with first-month-free incentive. Direct outreach to top Airbnb hosts in Joshua Tree. iCal sync configured.
Manual dispatch
Operator-assisted matching for first 30 days. Build Lead watches every job, builds the playbook. 50 manual jobs target.
Flywheel turns
Automated dispatch live. Happy hosts → reviews + referrals. Earning cleaners → invite friends. Supply & demand compound.
Flat per-job pricing by property size. Platform retains 15–20% commission. Optional host subscription for 5+ unit property managers ($50–$200/mo) gives priority dispatch + custom checklists. Future Premium tier ($1–$5k/mo) for 50+ unit managers gets dedicated infrastructure.
| Tier | Pricing | What it unlocks |
|---|---|---|
| Per-job (default) | $80–$200/job | Platform retains 15–20% commission · pay-as-you-go for individual hosts with 1–4 properties |
| Property manager sub | $50–$200/mo | For hosts with 5+ units. Priority dispatch · custom checklists · multi-property dashboard · linen/supply restock with markup |
| Premium · future | $1k–$5k/mo | 50+ unit property managers. Dedicated Mac mini infrastructure (true Hatchstacks Pro per-client). Bespoke SLAs. Dedicated CEO Agent attention. |
Phase 1 builds the platform and seeds Joshua Tree. Phase 2 automates. Phase 3 scales market 1 to economic viability. Phase 4 launches market 2.
Eight risks. R1 (cleaner cancels, no backup) and R6 (cold-start) are the two High/High risks the operations design directly addresses. R4 (AB5 reclassification) is the regulatory landmine that gates expansion to other California markets.
Risk register
Five core entities. Job is the central hub — every transition (queued / claimed / in_progress / submitted / approved / disputed) drives operations and billing.
erDiagram
HOST ||--o{ PROPERTY : "owns"
HOST }o--o{ CLEANER : "preferred"
PROPERTY ||--o{ JOB : "schedules"
CLEANER ||--o{ JOB : "claims"
JOB ||--|| PAYMENT : "settles"
HOST {
uuid id PK
jsonb contact
bool identity_verified
string stripe_customer_id
enum tier "per_job|subscription|premium"
}
PROPERTY {
uuid id PK
uuid host_id FK
string address
int beds
int baths
text key_access "encrypted"
string ical_feed_url
enum calendar_sync_status
uuid cleaning_template_id
text special_instructions
bool active
}
CLEANER {
uuid id PK
jsonb contact
bool identity_verified
enum background_check_status
int service_radius_mi
string vehicle
decimal rating_avg
int jobs_completed
int no_show_count
string stripe_connect_account_id
enum status "active|suspended"
}
JOB {
uuid id PK
uuid property_id FK
uuid cleaner_id FK
timestamp scheduled_start
timestamp scheduled_end
enum status "queued|claimed|in_progress|submitted|approved|disputed"
jsonb checklist
text_array photos
int pricing_cents
int commission_cents
timestamp claim_at
timestamp complete_at
timestamp approve_at
}
PAYMENT {
uuid id PK
uuid job_id FK
int host_charge_cents
int cleaner_payout_cents
string stripe_payment_intent_id
string stripe_transfer_id
enum status "held|released|refunded"
}
Days 1–7 build the operator backbone. Days 8–10 are platform integrations + Joshua Tree pre-launch (cleaner recruitment + host outreach). MVP build (Next.js + React Native) continues into Week 2.
- Tailnet · 1Password · Notion
- Read Advanced PRD end-to-end
- Read Build Guide §6, §7, §11
- Review hybrid architecture in §03
- AB5 legal reference (California)
- Persona + Checkr docs
- Stripe Connect Express docs
- iCal spec for Airbnb/Vrbo feeds
- FileVault · Tailscale · 3 users
- OpenClaw + Paperclip + Ollama
- 5 agents configured
- Sonnet vision binding for QA Agent
- Postgres database
- Next.js host portal scaffold
- React Native cleaner app scaffold
- S3 + Cloudflare CDN for photos
- Stripe Connect Express test accounts
- Mapbox geo + routing
- Test payout flow end-to-end
- Webhook handlers wired
- iCal pull from Airbnb test account
- iCal pull from Vrbo test account
- Job creation on checkout event
- Dispatch matching algorithm draft
- Twilio (via GHL) SMS test
- Push notifications (Firebase)
- Persona ID verification flow
- Checkr background check flow
- Marketer Agent drafts Craigslist + partnership pitches
- List 30 local cleaning companies
- First 10 outreach
- Bonding insurance terms set
- List top 30 J-Tree Airbnb hosts
- Draft month-1-free pitch
- First 10 host outreach
- Beta signup landing page live
- First cleaner Persona-verified + Checkr-cleared
- First host iCal configured
- Manual dispatch first job
- Photo upload tested · QA vision audit run
The hybrid pattern in detail. Different from the 🟢 archetypes: only the operator backbone is on Pro tier. Hosts and cleaners are platform users. Premium tier (50+ unit PMs) is the future path back to true per-client Mac minis.
Operator backbone fits Pro
- One Mac mini runs the platform backend
- 5-agent fleet supervises operations · QA Agent vision audit is the standout skill
- 4-channel contact model active
- Tailnet + FileVault protects host PII + cleaner financial info + property key access
- Sonnet vision · Haiku · Ollama model bindings same canonical pattern
Users are NOT Pro clients
- Hosts and cleaners use a multi-tenant SaaS layer
- No per-host Mac mini
- No per-cleaner agent fleet
- Ownership transfer doesn't apply — nothing to transfer
- Standard SaaS auth · tenant isolation by ID, not by infrastructure
Premium · future Pro per-client
- 50+ unit property managers at $1–5k/mo
- Optional dedicated Mac mini for the largest customers
- This becomes a true Hatchstacks Pro engagement within the platform
- Future revenue lane unlocked once Phase 3 economics prove out
- Bespoke SLA + dedicated CEO Agent attention
First of the two-sided marketplace archetypes. Shares more with Network for Creators (the other 🟡 hybrid) than with the Ventura cluster — both need vision-model fraud/quality detection, Stripe Connect Express, Persona + Checkr verification stack.
| Asset | How |
|---|---|
| QA vision audit pattern | Photo audit here · profile/content fraud detection there |
| Stripe Connect Express | Cleaner payouts here · creator brand payouts there |
| Persona + Checkr stack | Same vendor combo for both supply-side verification |
| Cold-start playbook | Concentrated launch market + manual-first 30 days |
| From | → To |
|---|---|
| Hosts (multi-property STR owners) | Potential ADU Directory homeowner prospects (they own multiple properties) |
| Cleaner CRM / dispatch logic | Reusable for other on-demand labor marketplaces |
| Photo-audit dataset (Sonnet vision feedback) | Improves Creator fraud detection prompts |
- STR
- Short-term rental — Airbnb, Vrbo, direct-booking properties.
- Turnover
- The cleaning + restock between two guest stays. The unit of work this platform dispatches.
- iCal
- Standard calendar feed format used by Airbnb/Vrbo. Our primary calendar sync mechanism in Phase 1.
- AB5
- California law on independent contractor classification. Treats cleaners as W-2 in many cases. Hard constraint on California market expansion — must be addressed per market.
- Stripe Connect Express
- Stripe account type for marketplace payouts to cleaners. Express = simplified onboarding, suitable for individual cleaners.
- Host
- Demand-side customer. An Airbnb/Vrbo property owner. 1–10 properties typical; 5+ unlocks subscription tier; 50+ unlocks future Premium tier.
- Cleaner
- Supply-side participant. Independent cleaner or small cleaning business. Bonded + background-checked. Builds reputation through ratings.
- Job
- The transaction. Lifecycle: queued → claimed → in_progress → submitted → approved (or disputed) → payment released.
- Backup queue
- Top 3 nearby cleaners maintained as fallback dispatch targets. Auto-reassign on no-claim within 15 min.
- Photo checklist
- Room-by-room before/after photo requirement. QA Agent (Sonnet vision) audits against the property's template.
- Premium tier
- Future $1–5k/mo subscription for 50+ unit property managers. Includes dedicated Mac mini (true Pro per-client pattern).
- Hybrid pattern
- The 🟡 Hatchstacks tier: operator backbone is full Pro tier; end users are on multi-tenant SaaS. Premium tier customers can opt up.