Website Landlord Ventura County
— Defensible Space
A multi-site rank-and-rent business serving Ventura County's wildfire defensible space niche. 11 city-specific WordPress sites on one Mac mini, ranked in Google, rented to local brush-clearance contractors at flat monthly fees. The legal mandate (PRC 4291) plus the June 1 deadline and insurance-renewal pressure produce the highest-conversion home-services demand in California.
Tenant
A licensed brush-clearance contractor who pays us a flat monthly fee to receive forwarded calls and forms for a specific city. They are the source of MRR.
Lead
A Ventura County homeowner with a fire-defense need — typically one who just received an FHRP notice and is trying to comply before June 1. The throughput we monetize.
Site
A city-specific website (e.g. thousandoaksbrushclearance.com) that we own, build, rank, and rent. 11 sites form the portfolio. Hosted on Cloudways.
Existing competitors lump all of Ventura County into broad multi-city pages. Our wedge is hyper-local depth per city — Thousand Oaks Zone 0 requirements, Ojai FHSZ neighborhoods, Camarillo Hills brush ordinances — captured at the URL level that competitors do not have.
| Competitor | Coverage | Strengths | Weakness we exploit |
|---|---|---|---|
| SoCal Brush | Multi-county SoCal | T.O. / CRPD / COSCA contracts | Generic site, weak per-city pages, B2B-focused |
| Grind Fire Defense | Northern CA primary | Strong content, certifications | Not Ventura-local; coverage from Redding |
| Alpha Wildfire Reduction | Ventura | Good positioning | Tiny site, weak SEO, single landing page |
| Quality Sprayers Inc | Ventura | Established since the 1980s | Site looks 2010, no per-city pages |
| RA Atmore / Foothill | Ventura, 30+ yrs | Strong reputation | No SEO, mostly word-of-mouth |
| Green Leaf Zone | Ventura | One landing page per city | Thin content, single owner |
| Gomez Landscape | LA + Ventura | Veteran-owned, large area | Spread across counties; weak per-city depth |
One Mac mini. One ops_runtime daemon. Five agents supervised by Paperclip. Eleven WordPress sites on Cloudways. Eleven CallRail numbers. One GoHighLevel agency account with 11 sub-locations. Build Lead reaches everything over Tailscale.
Each agent owns a functional area. The skills in monospace below are the project-specific skill bindings called out in the PRD — many are reused across the broader Ventura cluster (see §13).
Every Hatchstacks Pro deployment exposes four channels. In this project, Website Chat and Email dominate inbound (homeowners); Telegram and Dashboard dominate outbound ops (Build Lead and tenants).
Telegram
Paperclip escalations, agent loop alerts, missed-call rescue notifications. Approve flagged tenant onboardings and pricing decisions here. Highest-priority queue.
Dashboard
Operator: per-site rankings, MRR, churn flags, agent action log. Tenant: leads received, call answer rate, missed-call rescue stats. Tailnet-only.
Website Chat
Contact form + click-to-call on every page of every city site. After 8pm, routes to GHL AI receptionist that books call-back. The throughput channel.
Auto-reply within seconds: "{contractor} will call you within 1 hour." CallRail transcript delivery to tenant. Monthly invoice + ranking report.
Priority order from the PRD. Site #1 (Thousand Oaks) anchors Phase 1 — it has the highest combination of population density, FHSZ coverage, and homeowner buying power.
The path from a homeowner's first dial to a paying tenant's phone. Latency target: <3 seconds. Missed-call rescue runs automatically if the tenant doesn't pick up.
The June 1 deadline (vertical orange line) is the single fixed constraint. Site #1 must be ranking before May to capture peak FHRP-notice demand. Phase 1 is the on-ramp; Phase 4 is portfolio maturity.
10 risks from the PRD plotted by severity × likelihood. Top-right is where to focus mitigations. R7 (wildfire during operations) is the unusual one — high severity, but actually increases demand 10× when it happens.
Risk register
Six core entities. Site is the asset, Tenant is the customer, Lead is the product. Every agent action lands in AgentAction for audit + cost tracking.
erDiagram
SITE ||--o{ LEAD : "receives"
SITE ||--o| TENANT : "currently rented to"
SITE ||--o{ CONTENT_ITEM : "publishes"
SITE ||--o{ BACKLINK : "earns"
TENANT ||--o{ LEAD : "answers"
AGENT_ACTION }o--o| SITE : "may reference"
AGENT_ACTION }o--o| TENANT : "may reference"
AGENT_ACTION }o--o| LEAD : "may reference"
SITE {
uuid id PK
string city
string domain
enum status "planned|building|ranking|live|rented"
text_array primary_keywords
string callrail_number
uuid current_tenant_id FK
int rent_amount_cents
timestamp rent_started_at
}
TENANT {
uuid id PK
string business_name
string contact_name
string phone
string email
string csl_license_number
string insurance_coi_url
text_array service_cities
enum status "prospect|trial|paid|churned|declined"
string stripe_customer_id
timestamp paid_started_at
}
LEAD {
uuid id PK
uuid site_id FK
uuid tenant_id FK
enum source "call|form|chat|email"
string caller_phone
string caller_address
string call_recording_url
text call_transcript
jsonb form_payload
bool answered
int duration_seconds
timestamp forwarded_at
}
AGENT_ACTION {
uuid id PK
enum agent "ceo|cto|engineer|qa|marketer"
string action_type
uuid related_site_id FK
uuid related_tenant_id FK
uuid related_lead_id FK
text prompt_used
jsonb result
string model_binding_used
decimal cost_usd
timestamp created_at
}
CONTENT_ITEM {
uuid id PK
uuid site_id FK
string url_slug
string title
enum draft_state "planned|drafting|review|published"
int word_count
text_array target_keywords
int current_serp_rank
jsonb serp_history
timestamp published_at
}
BACKLINK {
uuid id PK
uuid site_id FK
string source_url
int source_domain_authority
string anchor_text
enum status "planned|pitched|acquired|lost"
timestamp acquired_at
}
The 7-day sequence from the Build Lead Onboarding doc. Each day's checklist must complete before the next day's begins. Day 7 produces the project's first outbound and is the operational handover milestone.
- Mac mini hardware received
- Tailscale joined; can reach Tailnet
- 1Password vault access from Dawson
- Read Advanced PRD end-to-end
- Read Hatchstacks Build Guide §6, §7, §11
- Review Visual Library 3a–3i
- FileVault on; 3 user accounts
- Tailscale daemon installed on mini
- Ollama installed; qwen2.5 + llama3.1 pulled
- OpenClaw runtime installed
- Connectivity test: OpenRouter, Anthropic, GitHub, Cloudways, Stripe
- Backup to offsite encrypted storage tested
- Paperclip supervisor installed
- CEO Agent configured + skills bound
- CTO Agent configured + skills bound
- Engineer Agent configured + skills bound
- QA Agent configured + skills bound
- Marketer Agent configured + skills bound
- Model bindings verified per F-6.3
- Telegram bot test: invoke each agent
- Paperclip risk policies enforced
- CallRail account + 1 test number provisioned
- GHL Agency Pro · Brush Clearance snapshot
- Stripe test customer + subscription
- Cloudways: 1st WordPress instance for T.O.
- Ahrefs / Mangools API keys tested
- GSC + GBP OAuth setup
- CSLB license lookup script test
- Domain procured (Dawson) · confirm
- WordPress + Astra installed on Cloudways
- Engineer Agent scaffolds: home, 10 service pages, FAQ, contact form, click-to-call
- QA: mobile fidelity · form test · call forward test
- CallRail number embedded sitewide
- Submit to Search Console · indexation request
- Marketer Agent drafts 5 cornerstone pieces
- Build Lead reviews — PRC 4291 refs, FHSZ language, City Fire Code citations
- Approve and publish
- GBP for Thousand Oaks set up
- First 10 local citations submitted
- CEO Agent: list 15 T.O. brush contractors (Maps, Yelp, CSLB)
- Build Lead reviews — real, licensed, local
- CEO Agent drafts free-trial outreach script
- Build Lead approves tone
- First 5 outreach emails sent (manual approval per send for week 1)
Where this project fits Pro tier perfectly, where it stretches it, and which Pro tier features don't apply because Dawson is the client.
Fits Pro perfectly
- 5-agent fleet maps cleanly to operational structure: tenant ops (CEO), infra (CTO), build (Eng), compliance (QA), content (Mkt)
- Single Mac mini runs the entire 11-site portfolio
- Tailscale + FileVault matches the security profile (lead PII, contractor financial info)
- All 4 channels used in production — Telegram, Dashboard, Web Chat, Email
- Model bindings — Opus for content, Haiku for routine ops, Ollama for offline summarization
Stretches Pro tier
- 11 sites on one Mac mini. Most Pro tier deployments have 1–3 properties. This is the upper bound on single-mini operations.
- Monitor agent loop performance during Phase 3–4 buildout.
- Trigger second Mac mini provisioning at 50+ sites (likely past 12 months).
- Agent cost ceiling per site monitored via Paperclip; bind low-stakes work to Haiku / Ollama.
Doesn't apply (Dawson is client)
- Off-boarding ownership transfer. N/A — this is Dawson's own business running on Pro tier infrastructure, not a paid Hatchstacks engagement.
- Per-client billing isolation. N/A — no external client to bill.
- Client onboarding workflow. N/A — operator and client are the same person.
- This is the strongest validation case for Pro tier: Dawson eats his own dog food.
Website Landlord sits at the center of the Ventura Trifecta. It shares geographic intel, agent skills, and the Mac mini itself with Cold Outbound and ADU Directory. Build once, reuse three times.
| Skill | Also used by |
|---|---|
| generate_seo_content | ADU Directory · Vacation Rental · Creators |
| verify_csl_license | ADU Directory · Cold Outbound · Vacation Rental |
| monitor_serp_rankings | ADU Directory landing pages |
| route_inbound_lead | ADU Directory · Cold Outbound |
| extract_property_data | Cold Outbound (primary) · ADU Directory enrichment |
| From | → To |
|---|---|
| Defensible-space contractors (tenants here) | Cold Outbound paying customers |
| Ventura homeowners (leads here) | ADU Directory homeowner inquiries |
| Ventura property-data crawler | Cold Outbound prospect enrichment |
Terms from the PRD that Build Leads frequently mix up. Print this and keep it next to the dashboard.
- FHSZ
- Fire Hazard Severity Zone — CAL FIRE designation: Moderate, High, Very High. Our sites target High and Very High zones.
- FHRP
- Fire Hazard Reduction Program — Ventura County FD's annual brush clearance inspection program. Source of the 18,500+ notices/yr.
- PRC 4291
- California Public Resources Code 4291 — the defensible space statute mandating 100ft of clearance around structures. June 1 deadline.
- Zone 0
- New 2026 ember-resistant perimeter requirement — first 5ft from any structure. Fresh, undefined, panic-inducing for homeowners → ideal SEO window.
- CSLB
- California Contractors State License Board. Free public API used at tenant onboarding to verify license validity.
- COI
- Certificate of Insurance. Required from every paying tenant before forwarding starts.
- Tenant
- Our customer. A licensed brush-clearance contractor paying us monthly to receive forwarded leads in a specific city.
- Lead
- Our product. A Ventura County homeowner with a fire-defense need (typically post-FHRP notice).
- Site
- Our asset. A city-specific WordPress site we own, rank, and rent. 11 total.
- Snapshot
- A GoHighLevel template (Agency Pro) — the per-city sub-account, automations, SMS sequences, and AI receptionist config bundled together. Build once, deploy 11 times.
- Whisper
- A short message played to the receiving contractor before they're connected: "Call from [city] brush clearance leads." So they answer professionally.
- Missed-call rescue
- When a forwarded call goes unanswered >1hr, GHL auto-SMSs the homeowner and the Build Lead is alerted via Telegram.