Local SEO expansion: every screen, and the journeys between them
Example data for Brightwater Plumbing, a fictional Austin plumber, inside the theStacc app. 47 screens; 42 are tagged Needs backend work. The whole expansion is new backend work; the tag marks screens that also need a scheduled job, a third-party API or a model call. Click a screen to open it; each page has Prev and Next for its journey and a link back here. Nothing here is connected to a real account.
What this shows
- One queue, sorted by money. Every finding from the profile, the pages, the reviews, the photos and the listings lands in one list, ranked by average job value times the extra jobs the fix should bring.
- The profile check compares against the map pack, not against a blank field. Primary category is the first card. The website field has to point at the location's own page.
- One service, one page. The product finds the blog that cannibalises a money service, names the internal link to add with both URLs and the anchor, and turns a position-6 query into a section rather than a new page.
- Reviews are measured by velocity against the pack, replied to inside 48 hours, and mined for the words customers use. Asks go out once, with one follow-up, and never with an incentive.
- Real photos only. A per-location inbox the tech fills from a phone. The audit nags at 14 days. Generated images stay off.
- Listings are a short list and a diff, not a 40-site blast. Link gaps are classified and drafted; a human sends them.
- A 9-point geo grid and one diagnosis per keyword: the page is the gap, or the profile is. Profile outcomes stay empty until the real API is connected.
- Nothing writes to the Business Profile. Every change is copy-paste or a dated proposal the owner confirms. Name, address and category are never queued together in one week.
- What we took from RightChoice.ai: a weekly task list, a suspension-risk card, change monitoring on the profile, a competitor comparison table and a client-facing report. What we left: bulk pushes to GBP, auto-posted replies, directory blasts and templated microsites.
11. Conversion: the free scan and the upgrade
What a prospect sees with no login. The paywall sits on the work, not on the diagnosis.
CV01Free scan startNeeds backend workPublic scan job: maps SERP at 9 points, profile, organic SERP, reviews
CV02Free scan resultNeeds backend workScan scoring; default job value table per industry
CV03Paywall on the workNeeds backend workPlan entitlement on scan rows
CV04Free scan result on a phone
CV05Agency shared scan linkNeeds backend workShareable signed link, agency branding22. This week: one queue sorted by money
AQ01This week: one queue sorted by moneyNeeds backend workQueue table, opportunity calculation, ranking across features, weekly refresh
AQ02Action detail: link /drain-cleaning to /repipe
AQ03Account manager approvalsNeeds backend workApproval states per draft, approver role, audit log
AQ04Round Rock: a short week
AQ05Monday digest on a phoneNeeds backend workWeekly digest sender, fixed line order, deep links per line33. Profile audit, suspension risk and the change monitor
Nothing writes to the profile. Proposals are confirmed; name, address and category are never queued in the same week.
PA01Profile audit, AustinNeeds backend workPack category comparison per money keyword
PA02Website field and booking linkNeeds backend workMobile final-URL check; canonical host check
PA03Suspension riskNeeds backend workRisk rules engine over D1 and D8
PA04Change monitorNeeds backend workDaily snapshot diff, Google-updated fields, alert email
PA05Refusal: name, address and category in one weekNeeds backend workEdit-history window check per location
PA06Confirm: add 3 secondary categoriesNeeds backend workProposal record with confirmed-by and time
PA07Profile status and appeal packNeeds backend workStatus detection; private document store44. Money pages: one service, one page
MP01Money services mapNeeds backend workService-to-URL map from the website audit crawl and Search Console
MP02Striking distanceNeeds backend workWord-on-page count from the crawl; Search Console query to URL join; model drafts the outline only
MP03Cannibalisation: water heater replacementNeeds backend workBlog vs service page detector on Search Console ranking URLs
MP04Internal link suggestionNeeds backend workInlink counts and click depth from the website audit crawl
MP05City page gateNeeds backend workJobs and reviews by city join; city-swap similarity check on the builder's draft
MP06Builder work order: water heater replacement pageNeeds backend workWork-order handoff to the website builder; post-publish check reads the website audit (raw HTML, robots.txt)55. After the job: reviews and photos
RV01Review velocity vs the packNeeds backend workCompetitor review polling, weekly series
RV02Reply queue with a 48-hour timerNeeds backend workReply SLA timer
RV03Reply draft: Ana Castillo, 2 starsNeeds backend workPhrase lint list; human-clicked publish through the reply endpoint
RV04What customers sayNeeds backend workMining job over our reviews and competitor review text
RV05Deleted reviews and burst watchNeeds backend workDaily review-ID diff; burst detector
RV06Ask queue with the review clockNeeds backend workAsk clock from jobs data
RV07WhatsApp review ask to Marcus Bell
RV08Owner reply nudge on the phoneNeeds backend workPush notifications
PH01Photo inboxNeeds backend workInbox storage per location, EXIF city read then stripped, 14-day photo age nag
PH02Tech photo uploadNeeds backend workNarrow tech role (upload only), upload API, EXIF city lookup and strip
PH03Post queue with a publish gateNeeds backend workPublish gate replacing posting_mode autopilot (O8), post link checker, body lint66. Listings, links and competitors
NL01One NAP, eight listingsNeeds backend workListing fetch per URL, field diff, last-good cache
NL02Fix Yelp phoneNeeds backend workRetry with backoff, last-good cache per listing, search by phone and old address
NL03Link gaps and mentionsNeeds backend workBacklink intersect against the pack top 3, domain classifier, brand mention search
NL04Competitors side by sideNeeds backend workWeekly pack competitor profile cache per money keyword77. Ranks, outcomes, AI visibility and proof
ME01Geo gridNeeds backend workWeekly maps SERP job at 9 points for the top 5 keywords, history writes
ME02Pack vs organicNeeds backend workJoin of geo grid ranks and Search Console positions per keyword
ME03Profile outcomes, not connected
ME0430-day proof reportNeeds backend workReport renderer (web and PDF), history store for grids and reviews, agency branding
ME05AI visibility, monthlyNeeds backend workMonthly prompt runner per engine, citation store, cited-domain to listing join88. Data connections and setup
DC01ConnectionsNeeds backend workConnection status registry
DC02Connect Business Profile performanceNeeds backend workPerformance API scope and daily job
DC03Jobs importNeeds backend workCSV parser, job table, service and city matching
DC04Job value per serviceNeeds backend workJob value field on services