🚀 Phase 2 Kickoff · Handoff to Audrey + Ashton + Kalen

Location Pages Phase 2What We Ship, What It Unlocks

The 4-build stack that turns 15 city landing pages into a live-data trust engine no KC competitor can match.

📅 April 17, 2026 · Robert Dove · Dove Web Consulting

📦

The 4 Builds

Each one is a leverage multiplier. Shipped together, they compound.
1
🤖 fleet_availability.py — Vapi + ST join cron
Owner: Robert · Target: this week
Phase 2

What it unlocks

  • 🚒 Live "Crew available · ~45 min" badge per city
  • 🔔 Daniel AI says real ETAs on calls: "Tech there in 22 min"
  • 🗺️ Dispatch intel for Ashton (who's free, where)
  • 😱 Emergency Eric converts: panic turns into call BSP, not Roto-Rooter
  • 💰 Real Daniel attribution dollars visible in Sacred v2 (no fakes)
  • 📡 Foundation for every other fleet-aware product
2
🔜 /api/fleet/availability/{city-slug} endpoint
Owner: Robert · Target: this week (piggybacks on fleet script)
Phase 2

What it unlocks

  • 🌐 Location pages consume the feed (public + fast)
  • 📣 Google Ads dynamic copy: "Plumber 10 min from you"
  • 📱 SMS confirms with ETA: "Juan is 15 min out, blue Ford"
  • 🎰 Ashton's dispatch console reads same data
  • 🔗 Slack alerts, email flows, third-party integrations
  • 🧠 Any Nexus downstream product plugs in once
3
🎨 CL-15 Live Availability Chip — Audrey Figma variant
Owner: Audrey · Target: within 3 days
Phase 2

What it unlocks

  • 🏘️ 15 location pages shipping with the chip component
  • 🔢 Phase 3: 45-page city × service matrix reuses one component
  • 🧩 Component library maturity for T2 / T3 city ramp
  • 👀 Stephanie sees trust stack rendered (revenue-framed design)
  • 🏆 Visual IP competitors cannot replicate (they have no data)
  • 🎯 Brand coherence across every future city page
Spec already exists. See Location Pages Playbook §component-library and §live-fleet for the chip states, tokens, and render rules.
4
🧠 Tier A Google API wiring — 9 APIs
Owner: Robert · Target: parallel this week
Phase 2

What each API unlocks

APIUnlock
📊 GBP Performance APIPer-city Local Pack impressions + direction requests + call volume
GBP Reviews APICity Review Card pulls live, filtered by neighborhood keyword
📣 GBP Posts APIAuto-post city-specific promos to GBP
🔎 Search Console APIWhich queries hit each city URL, rank position, CTR, tune H1 / meta
📈 GA4 Data APIConversion lift per city (proves the fleet badge works)
Address Validation APICatches typos at form submit, cleans ST data at the source
📝 Places AutocompleteCustomer address auto-fills, form conversion lift
🗺️ Maps Static APIStatic city hero map, fast LCP, no JS cost
📍 Places API (New)Auto-populate neighborhoods + landmarks per city (Oak Park Mall)
🔄

The Compound Effect

1 + 2 + 3 + 4 ship together. The cascade is the moat.

How the 4 builds cascade into revenue

15 city pages launched simultaneously (Phase 2 ship) Each page shows live "Crew available · ~22 min" badge Each page shows reviews filtered by THAT city's neighborhoods Each page mentions "near Oak Park Mall / Deanna Rose" organically Each form validates addresses in real-time GA4 + GBP measure which city pages convert Search Console tells us which queries win per URL Weekly feedback loop: tune H1 / meta based on real data Bids shift to highest-converting cities (via Google Ads API) Lower CPL + higher close rate + more $5K-$15K sewer jobs
Why this compounds: no single build creates the moat. The stack does. Live data feeds the pages, the pages feed measurement, measurement feeds bidding, bidding feeds revenue. Every loop closes on itself. That is why this ships as one Phase 2, not four sequential projects.
🏅

The 10x Moat Stack

Nobody in KC has this.

Five moats competitors cannot copy

MoatWhy competitors can't match
👨‍👨‍👦‍👦 5-gen family storyAnthony has "since 1951" but no family faces
Live Google Reviews filtered by cityRoto-Rooter uses stale testimonials
🚒 Live crew ETA per locationBenFrank says "24/7" (dead signal)
📍 Landmark-anchored hyper-local copyGeneric competitors say "we serve KC"
🤖 Daniel AI 24/7 conciergeNo KC plumber has true AI booking
🌃 Emergency Eric at 11 PM. Roto says "24/7 plumber." BenFrank says "$59 drain." BSP says "crew 22 min away in Overland Park, available now, 5-star reviews from your neighborhood, call (913) 963-1029." BSP wins the call.
💰

Revenue Math

Conservative lift model. Year-1 floor.
MetricValue
Current location page click-to-call rate~6 to 10% industry avg
With live-availability badge (conservative)+15% lift
Marginal $5K-$15K sewer jobs per month+3 to +6
Marginal revenue per month+$15K to +$90K
Year-1 uplift (conservative)+$180K to +$1M
Build cost (Phase 2 ship)~2 to 3 weeks dev
Year-1 API cost worst case~$1,560
ROI100x+
👤

Owner Handoff Grid

Clear ownership. No ambiguity.
DeliverableOwnerTarget
🤖 fleet_availability.py Robert this week
🔜 API endpoint /api/fleet/availability/{city-slug} Robert this week (piggybacks on fleet script)
🎨 CL-15 Figma variant Audrey within 3 days (spec already in Location Pages Playbook §component-library and §live-fleet)
🧠 Tier A Google APIs audit Robert parallel this week
👀 Review + approve Stephanie + Kalen after Phase 2 ship
Default rule: every task defaults to Robert unless literally impossible. Stephanie + Kalen are the approval audience, not executors. Audrey owns CL-15 because the spec is visual and lives in Figma.
🔗

References

Linked playbooks + Master History.