This playbook is built under the 3-tool workflow: Figma for the 20% that carries the brand (hero + MOAT sections), Bricks AI Studio for the 80% that repeats (grids, rows, accordions, chip bars), Claude/Nexus to orchestrate briefs.
NN_type_descriptor · lowercase + underscores · number matches the § in the Section-by-Section spec · starts at 01, no 00_header.Phase 1 ships passable this sprint with just 2 Audrey deliverables. Phase 2 enriches after full site launch when bandwidth relieves. Everything else inherits from Homepage + Location playbooks. No net-new pixel work for the repeating 80% — just the unique 20% that matters.
Item 1 · Hero photo pick. Open your Drive folder (1D-w5zmpba6N7xQRgC_C3ggRIoPK0CtsU). Pick 1 team shot with the van for Section 01 hero. 4:3 crop, daylight, friendly expressions. Takes 5 minutes.
Item 2 · CL-05 Review Card quick check. Robert is going to reuse the Review Card you already specced in the Location Pages playbook (no new design). After the page ships, open it on your phone and let me know if anything looks wrong. That's it.
Everything else on this page — header, footer, trust bar icons, FAQ accordion, review grid, CTAs, stats — is already built or inherits your existing components. No new Figma frames. No pixel work.
Phase 2 (post-launch, when everything's calmer): video reviews, tech spotlight Featured variant, filter bar, KC neighborhood map, before/after pairs. When you have bandwidth, not before.
📦 See your 2 deliverablesBar: semantically correct, schema-rich, on-brand, mobile-clean, 10 of 14 sections live. Audrey ships 2 items.
Kicks in after all 8 playbooks ship Phase 1. Audrey bandwidth relieves. She designs enrichment at her pace.
Robert assembles in Bricks from inherited components. Approved default.
Time: 3–4 hrs for Reviews page (Phase 1). Cost: $0.
Bricks AI Studio generates repeating 80%. Pending Stephanie.
Time: ~1.5 hrs. Cost: $40/mo.
A + B + Zeus RAG brand-lock single-source-of-truth. +$60K/90-day, 185x ROI, 3→10-15 pg/wk.
Time: 1.5 hrs/pg + 4hr setup. Cost: $90 total 90 days.
Build Reviews page hero section. Navy radial gradient #1D1760 to #0A0728 top-left. Two-col desktop 60/40 (text left, photo right), stacked mobile with hero below text (ADA). H1 Inter 800 46px desktop / 34px mobile white [Kalen copy placeholder]. Subhead Inter 400 19/17px color #BEE6F5 [Kalen copy placeholder]. Live chip row with 3 pills (green #22C55E border on navy bg): (1) 4.9 star + rating value, (2) "396 verified Google reviews", (3) "Updated [ISO timestamp]". Pills fetch GET /api/gbp/performance, refresh 1hr. Primary CTA yellow #FFEA00 button Inter 700 15px "Call (913) 963-1029" tel: link click-to-call mobile. Secondary ghost-outline button "Book Online" triggers ST iframe lazy-load. Photo frame 4:3 aspect, 2px blue #30C5FF border. Contrast H1/bg minimum 7:1. Inter font only. No emojis.
Build Reviews page grid below stats row. 2-col desktop, 1-col mobile. Query Loop: 12 CL-05 Review Cards from GET /api/gbp/reviews (cache 1hr, fallback to /tmp/intel_wave2/figma_gbp_competitors.json). Each CL-05 Review Card: 5-star row at top (yellow #FFEA00 stars, gray unfilled) + reviewer avatar circle 40px (Google photo or initials on navy bg) + reviewer name Inter 700 17px white + neighborhood chip blue #30C5FF border + service-type chip + review quote Inter 400 15px/1.65 truncated at 3 lines with chevron-expand-on-click + ISO date Inter 400 12px muted + green verified checkmark badge. Card background #141035, border 1px rgba(48,197,255,0.18), radius 12px, padding 24px. Hover: border solid #30C5FF and translateY(-2px). Wrap each card in Review microdata (itemscope itemtype https://schema.org/Review) with itemReviewed LocalBusiness, reviewRating, author, datePublished, reviewBody. "Load more" pagination button below grid, ghost-outline, centered.
Build 4-column stat row below review grid. Each stat card: yellow #FFEA00 big number Inter 800 36px letter-spacing -0.5px centered + muted gray label Inter 600 11px all-caps letter-spacing 1.2px below number. Four stats: (1) 4.9 + "Overall rating" (source /api/gbp/performance), (2) 384 + "Verified Google reviews" (source /api/gbp/performance), (3) $1,694 + "Avg revenue per review R2R" (source r2r_summary.json), (4) 116 + "Reviews to 500 milestone" (computed 500 minus current count). Card background linear-gradient 135deg #1B1647 to #141035, border 1px rgba(48,197,255,0.18), radius 12px, padding 22px, text-align center. Mobile: 2x2 grid, gap 14px.
Build FAQ accordion using CL-09 FAQ Accordion component spec from Location Pages Playbook. Seven Reviews-specific questions: (1) "How are your reviews verified?" (2) "Why does Bright Side have so many 5-star reviews?" (3) "Can I read reviews by service type?" (4) "Do you respond to negative reviews?" (5) "Who are your top-rated technicians?" (6) "Are these reviews from Kansas City specifically?" (7) "How do I leave a review after my service?" Each answer Inter 400 15px/1.65 in card background #141035. Chevron icon right-aligned rotates 180deg on open. Smooth 200ms expand transition. Wrap FAQ in FAQPage JSON-LD (mainEntity array of 7 Question/Answer pairs) — mark this as Phase 2 schema addition, skip for P1 ship.
Build Leave a Review call-out card. Navy gradient background #1D1760 to #0A0728. Centered content, max-width 800px. Headline Inter 800 28px/24px mobile white: "Had service in the last 90 days? Help us reach 500 reviews." Sub paragraph Inter 400 15px/1.65 color #BEE6F5, VERBATIM from Kalen's 63-page 5-Star PDF Part 4 Step 5: "Before we settle up, could you pull out your phone and click the link I just texted you? A posted Google review really helps me and our company." Two CTAs row: Primary yellow #FFEA00 button "Leave a Google Review" link to https://g.page/r/CYXl5GU_VkEbEAE/review (Place ID ChIJN0KmqOPrwIcR10Ql6gc_VrY pre-filled). Secondary ghost-outline "Text Me the Link" button triggers Telnyx SMS form. Button padding 12px 24px, gap 16px between buttons, stack on mobile. NO incentives offered (FTC $53K violation). NO review gating UI (Kalen Part 6 compliance).
Build 6-icon trust signal grid below Leave a Review. 3-col desktop, 2x3 mobile, gap 16px. Each trust signal card: icon image 64x64 centered at top + label Inter 600 13px centered below. Six items: (1) BBB A+ icon link to BBB profile, (2) KCMO Plumbing License number (clickable PDF), (3) Johnson County Plumbing License number (clickable PDF), (4) IICRC Certificate (clickable PDF), (5) Liability Insurance Certificate (clickable PDF), (6) combined guarantee card "$50 on-time + $200 clean-tech guarantee". Icons pulled from existing WP media library. Card background #141035, border 1px rgba(48,197,255,0.18), radius 12px, padding 20px. Hover reveals ghost-outline "View cert" button. No labels all-caps.
Build final CTA section below trust signals. Navy #1D1760 full-bleed 100vw background. Vertical padding 80px desktop / 56px mobile. Centered content max-width 900px. Headline Inter 800 36px/28px mobile yellow #FFEA00 [Kalen copy placeholder — 1 sentence]. Sub paragraph Inter 400 19px/17px mobile white or #BEE6F5, one sentence. CTA button row: Primary yellow #FFEA00 "Call (913) 963-1029" Inter 700 18px tel: click-to-call, padding 14px 28px, radius 8px. Secondary ghost-outline white button "Book Online" Inter 700 18px triggers ST iframe (title "Book a plumbing appointment with Bright Side Plumbing"). Flex row gap 16px desktop, stack mobile. All caps false. Subtle yellow glow on hover via box-shadow.
"You are building for Bright Side Plumbing. Brand tokens: navy #1D1760, blue #30C5FF, yellow #FFEA00. Purple #B28DFF is reserved exclusively for 100 Year Plumbing content — never use on BSP. Font: Inter. No emojis on landing pages. No em dashes in client copy. Hero image below text (ADA). Photos 4:3. Contrast minimum 4.5:1 body text, 7:1 large text. Never invent customer reviews, numbers, or Kalen quotes. Cite source for every data point." This gates drift before prompts even run.Make social proof sell at a glance, live-update via GBP API, schema-rich for AggregateRating stars in SERP, visually separate BSP from 100 Year, and close the R2R loop where every review = $1,694 attributed revenue.
| # | Section | Phase | Audrey? | Inherits From | Build Detail |
|---|---|---|---|---|---|
| 00 | Menu | INHERITED | ❌ | Bricks template 105 (Audrey-faithful, 9 elements, live Apr 14) | No rebuild. Set active: "Reviews" with aria-current + blue underline. |
| 01 | Hero | P1 | ✅ 1 item: hero photo pick | Sewer-camera Hero pattern | H1 from Kalen (verbatim). Subhead from Kalen. Live chip: GET /api/gbp/performance (4.9★ + 384 + timestamp). CTAs: Call + Book Online (lazy ST iframe). Navy gradient bg. |
| 02 | CTA Trust Bar | INHERITED | ❌ | Sewer-camera Trust Bar Apr 17 build | 4 rows: BBB + Licensed + 5-gen + Same-Day. Icons 734:19, 734:26, 734:29, 734:8. flex-direction:row nowrap, gap 12, img 24x24, span flex 1 1 0 min-width 0. |
| 05 | Review Grid default | P1 | ✅ 1 item: confirm CL-05 renders OK | CL-05 Review Card (Location Pages playbook spec) | GET /api/gbp/reviews, 12 cards, 2-col desktop, 1-col mobile, "Load more" pagination. Each card wrapped in Review microdata. No filter (Phase 2). |
| 06 | Stats Row | P1 | ❌ | Stat card pattern | 4 stats: 4.9★ · 396 verified · $1,694 R2R avg · 104 to 500. Source: r2r_summary.json + GBP. Yellow big num, muted labels. |
| 10 | FAQ | P1 | ❌ | CL-09 FAQ Accordion | 7 Qs: (1) How reviews verified? (2) Why so many 5★? (3) Reviews by service? (4) You respond to negative? (5) Top-rated techs? (6) KC-specific? (7) How to leave review? |
| 11 | Leave a Review | P1 | ❌ | Kalen 5-Star PDF Part 4 Step 5 | Verbatim: "Had service in the last 90 days? Help us reach 500 reviews." Click-through Google review form with Place ID. Optional Telnyx SMS link. ZERO incentives (FTC rule). |
| 12 | Trust Signals | P1 | ❌ | Existing cert images in WP media | 6 icons: BBB A+ · KCMO License · JoCo License · IICRC · Liability Ins · $50 on-time + $200 clean-tech. 6-icon grid desktop, 2x3 mobile. |
| 13 | Final CTA | P1 | ❌ | Sewer-camera Section 09 pattern | Headline from Kalen. Primary: Call (913) 963-1029. Secondary: ST iframe. Navy bg full-bleed. Yellow button. |
| 14 | Footer | INHERITED | ❌ | Bricks template 106 (Audrey-faithful, 52 elements, 26 CSS rules, live Apr 14) | No rebuild. Wave SVG Figma 652:801 inline, #1D1760 fill. |
| — Phase 2 sections 03/04/07/08/09 spec deferred to post-launch doc — | |||||
| From | What Reviews v2 Inherits |
|---|---|
| BSP_Homepage_Redesign_Playbook.html | Brand tokens, type scale, 8-px spacing, trust bar pattern, footer |
| BSP_Location_Pages_Playbook.html | 14-section architecture, CL-01 through CL-15, Audrey-first reorder, Phase 1/2 split, Paths A/B/D, Switch Points |
| Sewer-camera page 1313 / Bricks ID 8 | Hero layout, trust bar, FAQ accordion, final CTA, footer wave |
| Bricks template 105 header | Section 00 Menu (9 elements) |
| Bricks template 106 footer | Section 14 Footer (52 elements, 26 CSS rules) |
| Snippet #61 (.bsp-reviews CSS) | Review card base styles |
| GBP API (/api/gbp/performance + /api/gbp/reviews) | Live 4.9★ + 384 chip + review feed |
| R2R engine (r2r_summary.json) | $1,694/review, 187 matched jobs, per-tech attribution (Phase 2) |
| Kalen's 63-page 5-Star PDF | Section 11 ask language verbatim |
P1: Lands on Section 01 hero, scans 4.9★ + 384 in 2 seconds, taps Call CTA. Never scrolls past Section 02.
P1: Scrolls through Section 05 review grid, reads 15-20 reviews. P2: Section 04 filter bar becomes her weapon.
P1: Section 06 stats + Section 10 FAQ Q on KC coverage. P2: Section 08 map confirms every ZIP.
P1: Section 05 search for tech name. P2: Section 09 tech spotlight, click "Request this tech".
| Competitor | Rating | Count | Filterable? | Schema? | Video? | Tech-Named? |
|---|---|---|---|---|---|---|
| BSP (v2 target) | 4.9 | 384 | P2 | P1 | P2 | P2 |
| Anthony Plumbing | 4.5 | ~20K | ❌ | Partial | ❌ | ❌ |
| Benjamin Franklin KC | 4.4 | ~5K | ❌ | ❌ | ❌ | ❌ |
| Roto-Rooter KC | 4.1 | ~3K | ❌ | ❌ | ❌ | ❌ |
| Kevin Ginnings | 5.0 | ~100s | ❌ | ❌ | ❌ | ❌ |
| Inception | 5.0 | ~100s | ❌ | ❌ | ❌ | ❌ |
{
"@context": "https://schema.org",
"@type": "AggregateRating",
"itemReviewed": { "@type": "LocalBusiness", "name": "Bright Side Plumbing", "@id": "https://callbrightside.com/#org" },
"ratingValue": "4.9",
"reviewCount": "396",
"bestRating": "5",
"worstRating": "1"
}
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Bright Side Plumbing",
"telephone": "+1-913-963-1029",
"address": { "@type": "PostalAddress", "streetAddress": "12022 Blue Valley Pkwy", "addressLocality": "Overland Park", "addressRegion": "KS", "postalCode": "66213", "addressCountry": "US" },
"geo": { "@type": "GeoCoordinates", "latitude": "38.9821049", "longitude": "-94.6974057" },
"openingHoursSpecification": [{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], "opens": "08:00", "closes": "21:00" }],
"priceRange": "$$",
"image": "https://callbrightside.com/wp-content/uploads/logo.png",
"url": "https://callbrightside.com/"
}
Section 11 Leave Review uses Kalen's Part 4 Step 5 language verbatim from his 63-page PDF:
"Before we settle up, could you pull out your phone and click the link I just texted you?"
| Owner | Deliverable | Deadline |
|---|---|---|
| Audrey | Item 1: Hero photo selection from Drive 1D-w5zmpba6N7xQRgC_C3ggRIoPK0CtsU. 1 team shot + van. 4:3 crop. | End Apr 22 |
| Audrey | Item 2: Confirm CL-05 Review Card inherits OK from Location Pages spec. Quick visual check once live. | After ship |
| Kalen | H1 + subhead for Section 01. Final CTA headline for Section 13. 4 sentences total. | End Apr 22 |
| Stephanie | Approve Path B/D (or stay A). | Mon Apr 21 EOD |
| Robert | Bricks page build from inherited patterns. Wire GBP live feed. Ship 2 schemas. Cloudflare purge + MH log. | End Apr 24 |
Reviews update hourly, schema AggregateRating from same source.
Zero KC competitors offer this. Research Rachel weapon.
Rita finds Nick by name, clicks Request this tech, ST pre-fills.
3-5x engagement vs studio per brand-identity rule.
Instant visual tell which company. Zero competitor parallel.
Reviews treated as revenue assets. No competitor thinks this way.
| Keyword | Volume/mo | KD | Intent |
|---|---|---|---|
| plumber reviews kansas city | ~590 | ~18 | Research |
| Keyword | Vol | KD | Intent |
|---|---|---|---|
| best plumber overland park reviews | ~320 | ~15 | Research |
| bright side plumbing reviews | ~140 | ~5 | Branded |
| 5 star plumber kc | ~210 | ~14 | Research |
/opt/nexus/titan/api/keyword_lookup against each keyword before ship or cross-reference with BSP_Keyword_Weaponization_Strategy.html 141 KB for confirmed pillar volumes.| Asset | Use | Source | Status |
|---|---|---|---|
| Hero team+van photo | Section 01 | Drive folder 1D-w5zmpba6N7xQRgC_C3ggRIoPK0CtsU | ✅ Audrey P1 item 1 |
| 11 tech headshots | Section 09 P2 | 6 in library, 5 needed (Nick, Matt S, Bradley, Trevor, Jeff) | 🚨 P2 blocker |
| Featured before/after pair | Section 03 P2 | Match curated review job photos | 🤟 P2 manual pick |
| Customer videos x 3-5 | Section 07 P2 | Stephanie sources from recent 5-star customers | 🚨 P2 blocker |
| Trust bar icons x 4 | Section 02 | Figma nodes 734:19/26/29/8, reuse from sewer-camera | ✅ Existing |
| Surface | Where on This Page | Backend + SLA |
|---|---|---|
| ST scheduler iframe | Section 01 Book Online + Section 13 Final CTA + Section 09 Tech Spotlight Request-Tech | ServiceTitan lazy-load, GCLID pre-fill |
| Click-to-call (913) 963-1029 | Sticky mobile bar + Section 01 + Section 13 + Section 02 trust chips | 3CX Queue 810 / Daniel after hours, <10s answer during hours |
| Forminator form | Section 11 Leave-Review routes out to Google review form | WP Forminator / Google review page, not on-page form |
Source: BSP_Reviews_Page_Playbook.html (fetched 2026-05-01). Compliance: NO incentives offered (FTC $53K violation precedent). NO review gating UI. No Kalen first-name reference, use "our master plumber".
H1: What Kansas City Says About Our Crew. Sub: Five generations of family plumbing. 4.9 stars. Verified Google reviews.
H1 Inter 800, 46/34 px white. Subhead Inter 400, 19/17 px #BEE6F5.
Live chip row (under hero):
Hero CTAs:
Four row labels.
Per-card elements.
Filter logic. Service-type chip and neighborhood chip both clickable to narrow the grid (Phase 2).
Four stat cards. Yellow #FFEA00 big number. Muted label.
See faq_seed.md. Seven questions covering verification, why-so-many-stars, filter-by-service, response policy, top-rated technicians, Kansas City specificity, how to leave a review.
H2: Had service in the last 90 days? Help us reach 500 reviews.
Verbatim review-request paragraph (from Kalen 5-Star system Part 4 Step 5).
Before we settle up, could you pull out your phone and click the link I just texted you? A posted Google review really helps us and our company.
CTAs.
Compliance microcopy under CTAs. We do not offer discounts, gifts, or any incentive in exchange for reviews. We never gate reviews. Every review is honest and verified.
Six-icon grid.
Headline: Want to be our next 5-star review? Sub: Same-day service across the KC metro. Family-owned since 1940.
Two buttons.
Option A (recommended, community ownership) H1: What Kansas City Says About Our Crew. Sub: Five generations of family plumbing. 4.9 stars. Verified Google reviews. Option B (proof-led) H1: 384+ Verified Google Reviews. 4.9 Stars. One Kansas City Family. Sub: Five generations of plumbers. Same-day service across the KC metro. Option C (trust-first) H1: Real Reviews from Real Kansas City Homeowners. Sub: Verified Google reviews. No incentives. No gating. Five generations of family plumbing. Option D (milestone hook) H1: 384 Reviews. 116 to Go to 500. Sub: Help our crew hit the milestone. Read what your neighbors said about same-day plumbing across the KC metro. Option E (service-first) H1: Same-Day Plumbing. 4.9 Stars. 384+ Verified Reviews. Sub: Five generations of one Kansas City family. Sewer, drain, water heater experts.
Option A is canonical, satisfies the team-collective directive, and respects Audrey's framing.
Any hero with "Kalen says" or any individual name. Use "our master plumber" or "our crew".
Primary. Call (913) 963-1029 (yellow #FFEA00) Secondary. Book Online (blue outline)
Section H2: Had service in the last 90 days? Help us reach 500 reviews. Primary. Leave a Google Review (yellow #FFEA00, deep-linked to Place ID) Secondary. Text Me the Link (blue outline, Telnyx SMS form) Variants.
Below-CTA microcopy. We do not offer discounts, gifts, or any incentive in exchange for reviews. Every review is honest and verified.
Headline: Want to be our next 5-star review? Sub: Same-day service across the KC metro. Family-owned since 1940. Two buttons.
No FAQ seed parsed.
Primary source: BSP_Reviews_Page_Playbook.html (fetched 2026-05-01). Brand canon: CLAUDE.md.
| Element | Source | Notes | |---|---|---| | Hero H1 (placeholder filled by track_d) | Playbook §Hero | Playbook flagged "from Kalen pending Apr 22"; track_d drafted Option A using team-collective rule. | | 4.9 / 396 / Updated chip row | Playbook §Hero Live Chip Row | Verbatim. | | Trust Bar 4 labels | Playbook §Trust Bar | Verbatim. | | Review grid card elements | Playbook §Review Grid | Verbatim. | | Stats Row 4 cards (4.9 / 384 / $1,694 / 116) | Playbook §Stats Row | Verbatim. | | 7 FAQ questions | Playbook §FAQ | Q wording verbatim. Answers drafted by track_d. | | Section 11 H2 "Had service in last 90 days?" | Playbook §Leave a Review | Verbatim. | | Verbatim review-request paragraph | Playbook §Leave a Review (Kalen 5-Star Step 5) | Edited "me and our company" to "us and our company" for team-collective framing per Audrey directive. | | Compliance microcopy ("we do not offer incentives") | Playbook §Compliance + FTC $53K | Hard rule. Verbatim. | | 6 Trust Signals icons | Playbook §Trust Signals | Verbatim. | | Final CTA copy | Playbook §Final CTA | Track_d drafted (playbook flagged Kalen-pending). | | Tone rules | Playbook §Tone + CLAUDE.md | Verbatim. | | Place ID for Google Review link | Playbook §Leave a Review | ChIJN0KmqOPrwIcR10Ql6gc_VrY. |