Pro fits perfectly · Hatchstacks tier Wave 1 · Cash engine PRD v1.0 · May 2026

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.

Annual FHRP notices
18,500+
Ventura County FD inspections / yr
Avg ticket size
$800 – $5,000
vs. junk removal $150–$400
Target MRR · M12
$7k– $15k
7+ tenants across 11 sites
Hard deadline
Jun 1
PRC 4291 · annual, every year
First, the three words Build Leads confuse
Our customer

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.

Our product

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.

Our asset

Site

A city-specific website (e.g. thousandoaksbrushclearance.com) that we own, build, rank, and rent. 11 sites form the portfolio. Hosted on Cloudways.

02The wedge

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.

CompetitorCoverageStrengthsWeakness we exploit
SoCal BrushMulti-county SoCalT.O. / CRPD / COSCA contractsGeneric site, weak per-city pages, B2B-focused
Grind Fire DefenseNorthern CA primaryStrong content, certificationsNot Ventura-local; coverage from Redding
Alpha Wildfire ReductionVenturaGood positioningTiny site, weak SEO, single landing page
Quality Sprayers IncVenturaEstablished since the 1980sSite looks 2010, no per-city pages
RA Atmore / FoothillVentura, 30+ yrsStrong reputationNo SEO, mostly word-of-mouth
Green Leaf ZoneVenturaOne landing page per cityThin content, single owner
Gomez LandscapeLA + VenturaVeteran-owned, large areaSpread across counties; weak per-city depth
Why now. 2026 brings Zone 0 enforcement — California's new ember-resistant perimeter rule for the first 5 ft from structures. No competitor has Zone 0 content yet. This is the SEO window.
03Architecture

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.

L1 · HARDWARE & NETWORK Mac mini M4 Pro venturaops.local TAILSCALE MESH Build Lead · Operator · Mac mini FILEVAULT Disk encryption at rest 3 user accounts DAILY BACKUPS Encrypted offsite Mitigates R6 hardware failure Standby Mac mini Emergency provisioning L2 · RUNTIME & SUPERVISOR OpenClaw Agent execution runtime · loads agents, manages model bindings, exposes channels, holds audit log Paperclip Supervisor Risk policy · escalation routing · cost monitoring · immutable audit log L3 · THE 5-AGENT FLEET C CEO Tenant relations Billing · contracts T CTO Cloudways · hosting Integrations health E Engineer WordPress · custom code Site provisioning Q QA CSL verify · TCPA Content compliance M Marketer Content · GBP · SEO Backlinks · lead nurture MODEL BINDINGS Opus Content drafting Haiku Routing · classify Ollama qwen2.5 Offline summary L4 · TOOLS & INTEGRATIONS BOUND TO AGENTS CallRailMkt · Eng GoHighLevelMkt · CEO StripeCEO CloudwaysCTO WordPressEng GSC + GBPMkt · CTO AhrefsCTO · Mkt CSLB APICEO TwilioMkt (via GHL) ResendMkt L5 · 4-CHANNEL CONTACT MODEL · EXTERNAL ACTORS TELEGRAM Build Lead alerts Paperclip escalations DASHBOARD Tenant + Operator Per-site visibility WEBSITE CHAT Lead capture · 11 sites Contact form + click-to-call EMAIL Lead auto-reply Tenant notifications ACTORS 🏠 Homeowner — the lead 🔨 Contractor — the tenant 👷 Build Lead 🧑‍💼 Dawson · operator
Where this stretches Pro tier. Most Pro deployments run 1–3 properties on one Mac mini. This runs 11. Monitor agent loop performance during Phase 3–4; provision a second Mac mini at 50+ sites (well past current 12-month plan).
04The 5-agent fleet

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).

C
CEOIndigo · Tenant ops
Tenant relationships, contracts, billing, dispute resolution. Drafts proposals, runs onboarding, monitors churn risk.
verify_csl_license route_inbound_lead process_stripe_subscription
T
CTOCyan · Infra health
Cloudways provisioning, hosting health, GSC indexation, dependency management. Reads Sentry + PostHog, escalates outages.
monitor_serp_rankings audit_site_health
E
EngineerGreen · Build & deploy
WordPress scaffolding per site (page tree, Astra theme config, contact form, CallRail embed) via the WP REST API. Custom integrations and form logic. Cloudways provisioning belongs to CTO; Engineer works inside the WP install.
scaffold_wordpress_site extract_property_data
Q
QAAmber · Compliance
Form testing, mobile fidelity, TCPA-compliant SMS opt-in language, content fact-checking (PRC 4291, FHSZ refs), audit-log integrity.
validate_compliance audit_deliverability
M
MarketerPink · Content engine
2–3 articles/site/month, GBP per city, backlink campaigns, missed-call rescue copy, seasonal content cadence into the June 1 deadline.
generate_seo_content monitor_serp_rankings
05The 4-channel contact model

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

Build Lead · Operator

Paperclip escalations, agent loop alerts, missed-call rescue notifications. Approve flagged tenant onboardings and pricing decisions here. Highest-priority queue.

Dashboard

Operator · Tenant

Operator: per-site rankings, MRR, churn flags, agent action log. Tenant: leads received, call answer rate, missed-call rescue stats. Tailnet-only.

Website Chat

Lead inbound · 11 sites

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.

06The 11 cities

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.

01 · LAUNCH
Thousand Oaks
pop 127k · dense FHSZ
02
Simi Valley
pop 126k · large FHSZ
03
Newbury Park · Westlake
HNW · FHSZ-heavy
04
Camarillo Hills
FHSZ pockets
05
Moorpark
rural-adjacent
06
Oak Park
small · dense FHSZ
07
Santa Paula
rural
08
Fillmore
rural
09
Ojai
rural · FHSZ-heavy
10
Ventura Hillsides
FHSZ pockets
11
Oxnard
flat · weed abatement
All 11 sites share one GHL Agency Pro snapshot template. Build the snapshot once, deploy 11 times. Each site gets its own CallRail tracking number (Ventura area code 805) and its own GBP listing.
07Call & lead routing

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.

HOMEOWNER Dials site # (805) 555-0123 CALLRAIL 11 tracking #s recording + transcript Business hours? YES · 7am–8pm TENANT Active tenant phone whisper: "[city] lead" Answer within 1 hr? YES → call recorded · transcript → tenant email NO MISSED-CALL RESCUE GHL SMS to lead + operator dashboard alert NO · 8pm–7am AI RECEPTIONIST Marketer Agent / GHL AI books call-back · captures intake Form path: submission → POST /api/leads → GHL CRM record → SMS to tenant within 30s → auto-reply email to lead → escalate to operator dashboard if no contractor response in 1 hr
08Phase timeline52 weeks · 4 phases

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.

W1 W4 W8 W12 W16 W20 W24 JUN 1 W32 W40 W48 W52 PRC 4291 deadline · annual PHASE 1 Foundation PHASE 2 Rank · 1st tenant PHASE 3 Scale to 5 sites PHASE 4 — peak season + portfolio buildout All 11 sites live · $7k–$15k MRR · prep for 2nd county INFRA Mac mini · OpenClaw · Paperclip SITES Site #1 Sites #2–5 Sites #6–11 build + content + backlinks CONTENT Marketer Agent · 2 articles/site/week · ongoing TENANTS CEO Agent prospect → 1st trial Tenants 2–3 onboarded Tenants 4–7 · auto-billing · churn watch OPS Operator time: 30+ hrs → 5 hrs → 2 hrs / week Site #1 live 1st paid tenant $3–5k MRR · 5 sites $7–15k MRR · 11 sites $0 $0.5–1k $3–5k $7–15k MRR target MRR
09Risk heatmap

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.

Low
Medium
High
Critical
High
R5
R1
R7
Medium
R6
R9
R2
R3
R10
Low
R4
R8
— Likelihood →
Risk register
R1Google algorithm update kills rankingsDiversify 11 sites; long-tail focus; content moat.
R2Competitor (SoCal Brush) Ventura pushHyper-local depth; lock annual terms.
R3Tenant cancels, no replacement ready3+ prospects per site; 1-week notice clause.
R4FHRP regulations loosenInsurance pressure compounds independently.
R5CallRail/GHL outage during fire seasonRedundant 2nd number; Twilio fallback.
R6Mac mini hardware failureDaily backups; standby mini ready.
R7Wildfire hits Ventura during opsCloud-hosted; prep for 10× lead surge.
R8Tenant lies about closes for cheaper rentRecordings give direct visibility.
R9TCPA failure on SMSCompliant opt-in language; legal review.
R10LLM cost overrunsHaiku/Ollama on low-stakes; per-tenant budget caps.
10Data model

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
    }
11Build Lead · Week 1

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.

DAY 1Access
  • 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
Outcome: read-in complete
DAY 2Infra
  • 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
Outcome: runtime online
DAY 3Agents
  • 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
Outcome: agent fleet operational
DAY 4Integrations
  • 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
Outcome: external tools bound
DAY 5Site #1 Build
  • 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
Outcome: Thousand Oaks site live
DAY 6Content + GBP
  • 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
Outcome: indexed + cited
DAY 7First Outbound
  • 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)
Outcome: first outbound live · Week 1 done
Escalation rule. Any agent action flagged for human approval — billing changes, content publishing, tenant onboarding — pauses until Telegram approval. Never disable Paperclip risk policies to "move faster." The audit log is what protects against liability.
12Pro tier conformance

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.
13Cross-project map

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.

THIS PROJECT Website Landlord 🟢 PRO · WAVE 1 Cold Outbound Ventura ADU Builders · per-customer Mac mini SHARED INFRA Ventura Assessor crawler 🟢 PRO · WAVE 1 ADU Directory V1 / V2 National lead-gen · builder catalog SHARED MAC MINI "Ventura Ops" 🟡 HYBRID · WAVE 2 Vacation Rental Turnover Joshua Tree marketplace SHARED SKILLS SEO content generator 🟡 HYBRID · WAVE 2 Network for Creators Verified fitness marketplace SHARED SKILLS QA fraud detection patterns Solid lines = direct shared infrastructure or data (build once, reuse). Dashed = transferable patterns (rebuild lightly per project).
Skills reused from this project
SkillAlso used by
generate_seo_contentADU Directory · Vacation Rental · Creators
verify_csl_licenseADU Directory · Cold Outbound · Vacation Rental
monitor_serp_rankingsADU Directory landing pages
route_inbound_leadADU Directory · Cold Outbound
extract_property_dataCold Outbound (primary) · ADU Directory enrichment
Customer-pool cross-sell
From→ To
Defensible-space contractors (tenants here)Cold Outbound paying customers
Ventura homeowners (leads here)ADU Directory homeowner inquiries
Ventura property-data crawlerCold Outbound prospect enrichment
14Glossary

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.
← Portfolio