๐Ÿ“ก Bright Side Plumbing ยท Apr 27, 2026 ยท Don't Reinvent The Wheel

Content Database Inventory โ€” What's Already Mined

The "content database" Robert references is NOT a single SQL table โ€” it's the union of mining systems, MH log entries, per-page playbooks, and live API outputs already shipped Apr 17โ€“23. This document maps each Phase 1 page to its existing content sources by MH entry ID + playbook URL + script path. Cite verbatim. Don't reinvent.

โ›๏ธ

Mining Systems Already Shipped

DON'T REBUILD

1. Service Page Mining System โ€” Apr 21 ship

Mining totals (verbatim from MH bsp-apr21): 27,665 customer phrases ยท 2,080 emergency-flagged ยท 1,478 playbook hits ยท 17 Daniel transcript items ยท 1,923 field notes ยท 49 keyword matches ยท 5 Google reviews. No fabrication. Tuple per page: target_post_id, figma_file_key, figma_desktop_node, copy_brief_path.

Open P3 (verbatim): "orchestrator copy-injection layer" โ€” connects mining output to Bricks page meta. This is the "last-mile" layer that needs wiring for the 9 service-page drafts to populate from mining JSON. Not yet built per Apr 21 entry; verify against Apr 23+ MH.

2. Location Page Mining Pipeline โ€” Apr 23 ship

Runtime: ~30 sec per city via python3 /opt/nexus/titan/location_page_mining.py --city overland-park. Outputs BSP_{City}_Location_Page_Brief.html + /tmp/s7_loc_{slug}_content_brief.json.

9 cities currently supported in CITY_ZIPS dict: overland-park, olathe, lenexa, shawnee, leawood, prairie-village, kansas-city-mo, kansas-city-ks, lees-summit. To extend to 15 (Apr 18 TIER A scope): add 6 more city ZIP arrays.

๐Ÿ—„๏ธ

The 8 Data Sources Per Location Page

VERIFIED LIVE
#SourcePathSample / OP run output
1Review intelligence DBreview_intelligence.db29,800 review_aspects ยท phrases filtered by city/slug match in customer_language ยท top-10 by score
2Keyword north-star DBkeyword_north_star.db234 keywords + 28 clusters ยท OP returned 7 city-modified terms (e.g. "plumber Overland Park" vol=590 diff=55, "sewer repair Overland Park" vol=170)
3Field-notes intelligencefield_notes_intelligence.jsonCustomer quotes filtered by ZIP match against CITY_ZIPS ยท OP=12 ZIPs ยท 5 quotes matched
4HCP phone indexhcp_phone_index.json (2.9 MB ยท 4267 customers)โš ๏ธ GAP: HCP customer records lack city field. OP returned 0 matches. Fix needed: phone-to-ZIP lookup before Friday cutover
5City landmarkscity_landmarks.json (Google Places API output)63 landmarks across 9 cities ยท top-3 by review count ยท OP: Oak Park Mall (10,986 rev), Game Show Battle Rooms (5,749), Town Center Plaza (3,963)
6GSC city baseline/api/gsc/city/{slug} (router: /opt/nexus/titan/api/gsc_city.py)Per-city organic baseline from titan.gsc_search_performance ยท OP: 10 clicks / 348 impressions / 28d window
7Fleet availability/api/fleet/availability/{slug} (router: /opt/nexus/titan/api/fleet.py)Live ETA ยท OP: 60 min average ยท backed by fleet_availability.json (cron every 15 min)
8City performance composite/api/city-performance/{slug} (router: /opt/nexus/titan/api/city_performance.py)Composite: GSC + GA4 + fleet + landmarks + UX score
+GBP reviews/api/gbp/reviews/recent396 total reviews ยท cohort logic: city_mentioned + top_five_star_recent ยท OP: 1 explicit mention, 20 recent 5-star
+Perplexity SERP gapPerplexity sonar-pro (optional, --no-serp to skip)Per-city SERP gap analysis ยท adds ~20 sec per city

Backed by bsp-apr20-memory-backfill-phase2-location-stack โ€” Apr 17 stack ship: 6 new API routers + supporting crons.

๐Ÿ“‹

Per-Page Content Map โ€” Phase 1

SOURCE โ†’ BLOCK
SERVICE PAGE (e.g. /services/sewer/sewer-repair/) โ€” Template A or B โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Hero copy โ† keyword-north-star ("Sewer Repair Kansas City") Trust badges โ† BSP knowledge ("5-Generation, Licensed & Insured, Same-Day") 5-card service grid โ† blog content (5 sub-services from existing sewer blogs) Timeline โ† per-page playbook ("From your call to our truck") Related services โ† nested category siblings under Sewer Testimonial โ† reviews DB (1 sewer-specific 5-star) Commercial CTA โ† BSP knowledge ("Restaurants, offices, property managers...") FAQ accordion โ† per-page playbook + Kalen field knowledge (6 sewer-specific Qs) LOCATION PAGE (e.g. /map/plumber-in-{city}/) โ€” Template C (location) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Hero copy โ† keyword + GSC city baseline Trust chips โ† GBP rating + review count + fleet ETA Map+sidebar โ† city_landmarks.json + bsp_loc_map shortcode Services โ† global service list filtered by city availability Reviews โ† GBP city_mentioned cohort How it works โ† per-page playbook (universal) Neighborhoods โ† landmarks_neighborhoods (city-keyed) Landmarks paragraph โ† top-3 landmarks by review count FAQ โ† city-specific FAQ via field_notes + keyword Nearby cities โ† CITY_ZIPS adjacency INFORMATIONAL PAGE (About / Contact / FAQ / Financing / Reviews) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Per-page playbook is the canonical content source: โ€ข /about-us/ BSP_About_Page_Playbook.html โ€ข /contact-us/ BSP_Contact_Page_Playbook.html โ€ข /faqs/ BSP_FAQ_Page_Playbook.html (Phase 1 expand 7โ†’15) โ€ข /financing/ BSP_Financing_Page_Playbook.html โ€ข /reviews/ (verify playbook exists or v2.1 brief) Mining still applies: GBP for reviews ยท field notes for trust statements
๐Ÿšง

The Last-Mile Gap (what's NOT yet built)

v4 DELIVERABLE

Mining โ†’ Bricks page meta last-mile push

The mining systems output JSON briefs (e.g. /tmp/s7_loc_{slug}_content_brief.json). The Bricks pages need element-tree writes via /bsp/v3/bricks/native-save. The connector script that reads brief JSON and writes to Bricks is NOT yet shipped:

Reference pattern: the OP 258 page (bsp-apr23-overland-park-location-page-shipped) was built MANUALLY using the location mining brief โ€” proving the brief-to-Bricks path works end-to-end. The "last-mile" layer would automate that manual step.

Estimated build time: ~4-6 hours per script ร— 2 = 8-12 hours. Reuses weather_budget_mutator.get_gads_client() for auth pattern, calls /bsp/v3/bricks/native-save for writes (Apr 22 stable primitive).

๐Ÿ“Š

Phase 1 Page Roster โ€” Source Status

9 SVC + 15 LOC + 6 INFO = 30 PAGES
PageMining sourcePlaybookLast-mile pushKalen review
/services/sewer/sewer-repair/service-page miningMining-system playbookGAPRequired
/services/drains/drain-cleaning/service-page miningDrain Cleaning briefGAPRequired
/services/sewer/trenchless-sewer-repair/service-page miningMining-system playbookGAPRequired
/services/sewer/sewer-cleaning/service-page miningMining-system playbookGAPRequired
/services/water-heaters/water-heater-repair/service-page miningMining-system playbookGAPRequired
/services/emergency/sump-pump-emergency/service-page miningMining-system playbookGAPRequired
/services/other/leak-repair/service-page miningMining-system playbookGAPRequired
/sewer-camera-inspection/BUILT Bricks page 8 already complete (Audrey faithful)โ€”โ€”
/emergency-plumbing/BUILT Bricks page 12 (clone-swap from page 8)โ€”โ€”
/about-us/per-page playbookBSP_About_Page_PlaybookGAPRequired
/contact-us/per-page playbookBSP_Contact_Page_PlaybookGAPRequired
/faqs/per-page playbook + field knowledgeBSP_FAQ_Page_Playbook (7โ†’15)GAPRequired
/financing/per-page playbookBSP_Financing_Page_PlaybookGAPRequired
/reviews/GBP API + reviews DBReviews v2.1 brief (verify)GAPRequired
/plumber-in-overland-park/BUILT First location ship Apr 23 ยท 146 elementsโ€”โ€”
/map/plumber-in-{olathe,lenexa,shawnee,leawood,prairie-village,kcmo,kck,lees-summit}/ (8)location-page mining (9-city set)Mining brief per cityGAPBatched review
/map/plumber-in-{6 TIER B cities}/location-page mining (extend CITY_ZIPS)Mining brief per cityGAP + extend pipelineBatched review
๐Ÿ”—

Cross-Linked Documents

CANONICAL CHAIN