Case study / Vending & Breakroom · Programmatic Local SEO
P1 Refreshments.
Brand system, information architecture, and a real-data 40-page city × service SEO matrix for a woman-owned Greater Waco breakroom company.

fig. 01 — Homepage — People First breakroom positioning
What the build
actually covers.
Measurement window pending — see §08 for the 30/60/90 reporting plan.
What the project
needed to do.
P1 Refreshments is a woman-owned vending, office-coffee, micro-markets, and pantry company in Greater Waco, Texas. Campbell Digital Studio authored the system the site runs on — the brand voice profile, the visual identity, the information architecture, and a programmatic city × service SEO matrix — and holds the build to a written QA conformance gate. Live at p1refreshments.com on Next.js 16, the platform routes a 40-cell service × location matrix across ten McLennan County cities, where every cell carries real ACS census data and named local employers so no two pages are interchangeable, plus a native MDX blog engine running a 211-post editorial calendar on a date-gated drip. The build was executed by an affiliated builder to the studio's spec.
A brand-new, woman-owned breakroom company needed to be findable across a ten-city metro for four distinct services — vending, office coffee, micro-markets, and pantry — without spraying the thin, near-duplicate 'city + service' pages Google reads as doorway spam and filters out of results. The job was a system, not a stack of pages: a brand voice the owner recognized as her own, an information architecture that organized forty service-area combinations cleanly, and a uniqueness standard strong enough that every programmatic page earned its place.
Every one of the 40 city × service pages carries real local data, so the matrix reads as genuine local coverage instead of doorway spamWhat moved the needle
What it looks like,
on screen.






The deliverables,
line by line.
Campbell Digital Studio authored the foundation the site is built on: the brand voice profile distilled from the owner's own words, the visual identity system, the information architecture (nav, footer, and the Service Areas hub → city → service model), and the programmatic-SEO matrix design — then set the anti-doorway uniqueness standard and ran the QA conformance gate the build is held to. The site an affiliated builder shipped to that spec is a Next.js 16 platform live at p1refreshments.com: a 40-cell service × location matrix across ten cities where each cell carries real ACS census figures and named local employers plus its own FAQs, ten city hubs, four service hubs, a native MDX blog engine running a 211-post editorial calendar on a date-gated drip (four live today, the rest scheduled forward), Service / FAQPage / Breadcrumb schema referencing one canonical LocalBusiness entity, and a Resend-backed contact pipeline.
- Brand voice system — a voice profile distilled from the owner's own copy, with the brand 'we' vs. founder 'I' split preserved
- Visual identity system — palette, type system, and a documented WCAG rule governing the brand's light-blue accent
- Information architecture — nav, footer, and the Service Areas hub → city → service model across the full sitemap
- Programmatic 40-cell service × location matrix — vending, office coffee, micro-markets, and pantry across all ten cities, live on the sitemap
- Real per-city data in every matrix cell — ACS 2023 census figures and named local employers, each field carrying a re-runnable source URL (the anti-doorway uniqueness mechanism)
- Per-cell FAQs emitting FAQPage schema, under one canonical LocalBusiness @id with Service and Breadcrumb structured data
- Ten city hub pages and four service hub pages
- Native MDX blog engine — pagination, six topic hubs, per-post schema, and a 211-post editorial calendar on a date-gated drip (four live today, the rest scheduled forward)
- Build-time gates — uniqueness, blog-meta, and hidden-content checkers that run before every production build
- Resend-backed contact pipeline with validation and a honeypot
- Next.js 16 / React 19 / Tailwind v4 on Vercel, with GA4 and Vercel Web Analytics
- QA conformance gate — a written PASS/FAIL checklist the build is held to against the studio's source of truth
How the build
earns the call.
Every city × service intersection is a standalone indexed page, and each one is made non-duplicate by real data: ACS 2023 census figures (population, median household income, employed residents, leading sector) and named local employers pulled for that specific city, plus per-cell FAQs. That is the mechanism that lets a 40-page programmatic matrix read as genuine local coverage rather than the doorway spam Google filters — the page for micro-markets in Hewitt says things only true of Hewitt. The whole matrix is held to a build-time uniqueness gate, references one canonical LocalBusiness entity, and ships with Service, FAQPage, and Breadcrumb schema. Sixty-four URLs are live on the sitemap today — the full 40-cell matrix, ten city hubs, four service hubs, and the first blog posts — with the 211-post editorial calendar dripping forward on schedule.
Gives a new, woman-owned breakroom company a findable page for every service in every city it covers — built to survive Google's doorway-page scrutiny because the pages carry real local facts, not reworded boilerplate. The site is new, so the results are still ahead of it: this is the foundation — the brand, the architecture, and the content engine — not a performance report. What it buys P1 is a platform that can compound, on a brand voice the owner recognizes as her own.
The hard part of a 40-page 'every service in every city' site is not building 40 pages — it's keeping Google from reading them as doorway spam and filtering them out. The studio's answer is data: every one of the 40 city × service pages carries real ACS census figures and named local employers for that specific city, so the page for micro-markets in Hewitt says things that are only true of Hewitt. That is the difference between a programmatic matrix that ranks and one that gets ignored. Campbell Digital Studio designed that architecture, the brand system, and the uniqueness standard the build is held to; an affiliated builder executed the site to that spec.Studio rationale
Metrics, captured
at 30 / 60 / 90 days.
Tracking dashboard captures GSC + GA4 at 30 / 60 / 90 days. Report publishes here on day 90 — view tracking spec
