Command Center
Weekly overview · Monday pipeline
Last run: loading…
Live Pulse
Not yet refreshed
Revenue
Click REFRESH NOW
Bookings
Click REFRESH NOW
GA4 Sessions
Click REFRESH NOW
GBP Actions
Click REFRESH NOW
PageSpeed
Click REFRESH NOW
GSC Keywords
Click REFRESH NOW
GSC Performance
Click REFRESH NOW
Click REFRESH NOW
△ Delta Mode
Week-over-week changes across all KPIs — what moved since last Monday
Loading delta data...
🚨 This week: Loading live data...
Revenue (7D)
Completed Bookings (7D)
Impressions (7D)
Organic Clicks (7D)
Average Position (7D)
Performance Trends
Cumulative revenue — This Period vs Prior Period
This Period
Prior Period
click legend to isolate
Dominance Index
Revenue Gap: /mo
12-mo Projection: /mo
Top Threat:
This Week's Movement
Loading...
Needs Attention
AI engines ignore you on 95% of service queries — view ghost keywords
Review count vs competitor avg — review velocity
GBP API access pending — performance data unavailable
LLM Visibility
ChatGPT
30%
Gemini
25%
Perplexity
20%
Claude
15%
Grok
7%
Last scan: —
Brand Authority Score
LLM Visibility
25%
Branded Search
20%
Backlinks
15%
Reviews
15%
Organic Growth
10%
Direct Traffic
10%
Press Mentions
5%
Google Business Profile
8,626
Views/month
22
Calls
88
Directions
vs last month
Photos live
Q&A responses
Weekly posts
Review responses
Growth Score
CRITICAL
SEO Health
78
Site Speed
19
LLM Presence
2
Lab Speed Score
Lighthouse simulated test
Loading…
LCP (Load)
CLS (Shift)
INP (Input)
Desktop
Mobile
SEO Health
Loading…
Avg Position
12.0
Impressions
8.6K
Pages Indexed
64
Desktop
Mobile
Lead Competitor Threat
No competitors loaded
KW Overlap
Position Gap
Authority Δ
🔮 Ritual Mode
70 automated audits across 7 categories
Loading ritual results...
☠️ Reaper Mode
11-tier competitor intelligence · runs every Monday 6 AM EDT
0 competitors loaded
☠️
No competitors configured
Add competitor names and domains to the ☠️ Competitors tab in Google Sheets.
Format: name | domain | location

Competitor Activity
Recent competitor moves detected by Reaper — new pages, keyword surges, backlinks, ads, threats
No competitor activity detected — run Reaper to scan competitors
😈 Demon Time
15 competitive attacks · manual dispatch only · 0 selected
War Room
Full competitive intelligence across all channels — refreshes every Monday
⭐ Loading review data...
Competitor Intel
Auto-generated recon · runs every Monday
HOW GOOGLE & LLMs SEE YOU

Self-brief generates automatically when Reaper runs — shows how AI models perceive based on its digital footprint and keyword signals.

Loading competitor data...
Highest Threat
CTS: —
Biggest Mover This Week
Your Position
Monitoring
0 competitors tracked
Loading threat history...
Review Velocity
Your Reviews
63
Competitor Avg
Gap
reviews behind
Brand Threat Summary
AI Hijack
100%
miss rate
Brand Mentions
53
by competitors
Paid Bidding
scan needed
SERP Displacement
scan needed
View full Brand Threat Intel →
Intel Briefs
Auto-generated recon · runs every Monday
Loading intel briefs…
Loading pricing data…
Loading LLM visibility data…
Signal Watch
Mention rate % per keyword × engine — full LLM footprint at a glance
Loading…
What is this view?
Every row is a keyword patients search. Every column is an AI engine. The cell shows how often that engine mentioned across all query variants tested this week.
How to read the colors
Red = 0% — never mentioned. Orange = under 25% — rarely. Yellow = under 60% — inconsistent. Green = 60%+ — reliably recommended. You want every cell green.
What to do with this
Red cells are content gaps. The blog engine auto-targets them every Monday. Focus on the top-revenue keywords first — IV therapy, EBOO, GLP-1. Those rows going green = more patients finding you via AI.
Keyword × Engine Heatmap
0% <25% <60% 60%+
Loading…
Engine Avg Mention Rate — Which to prioritize
Visibility Score
0–100 composite score weighted by engine share of AI search traffic
This Week
/100
ChatGPT
Gemini
Perplexity
Claude
Grok
12-Week Score Trend
One line per engine — your north star
Ghost Keywords
Keywords where AI engines never mention — ranked by impact
0 invisible
What is a ghost keyword?
When someone asks ChatGPT, Perplexity, or Google AI about a service you offer and doesn't appear in the answer — that keyword is a ghost. These are services you offer but AI doesn't know about, so it sends patients to competitors instead.
Why it matters
More patients are skipping Google and asking AI directly for recommendations. If AI doesn't mention you for "NAD+ therapy NYC" or "peptide clinic Manhattan," those patients book somewhere else. Every ghost keyword is a booking you're losing to a competitor right now.
How we fix them
The blog engine automatically publishes a dedicated page for each ghost keyword with expert content, schema markup, and citations. Once AI engines crawl and index that content, they start recommending for those searches. This list shrinks every Monday as keywords get covered.
Invisible Keywords — Ranked by Severity
Loading…
Competitor Dominance
Who's winning your invisible keywords
Loading…
Citation Feed
Every AI mention of — quotes, engines, and context
0 citations
What counts as a citation?
A citation is any AI response that mentions by name with an accompanying quote. It means the AI engine included your business in its recommendation — the patient saw your name.
Why citations compound
AI engines learn citation patterns from web content. The more your pages get crawled and cited in responses, the higher your baseline mention rate becomes. Early citations increase the probability of future ones.
What to look for
Check sentiment (positive vs neutral), position (are you mentioned first?), and which engines are citing you. A citation from Perplexity is especially valuable — it pulls directly from live web content and drives high-intent traffic.
Citation Timeline
Most recent mentions first
Loading…
Top Keywords Getting Citations
Loading…
Hallucination Log
AI mentions with missing location signals or incorrect details
0 flagged
What is a hallucination?
A hallucination occurs when an AI mentions but gets the details wrong — missing your address, wrong neighborhood, incorrect services, or fabricated information. The AI "knows" you exist but doesn't have accurate data.
Why this is dangerous
A patient told by AI that you're in "Midtown" or that you offer services you don't will show up confused or not at all. Hallucinations erode trust. They're worse than not being mentioned because they create a false expectation.
How we detect them
Every AI response that mentions is scanned for location signals. If your name appears but none of those signals do, the response is flagged here for review. Currently 0 active hallucinations is the goal.
Flagged Responses
Rows where AI mentioned FW but location/detail signals were absent
DateEngineKeywordIssueQuoteStatus
Loading…
Published Posts
Every E-E-A-T post auto-published by the blog engine
0 posts
DateTitleKeyword TargetedTriggered BySchemaStatusLink
Loading…
Performance
Posts published by the engine and their GSC traffic
Posts Published Over Time
Content by Intent
Top Posts by Keyword Volume
Search volume of the keyword each post targets
Gap Queue
Invisible keywords flagged by the LLM monitor — content pipeline in motion
0 queued
Keywords Awaiting Content
Invisible on 3+ engines · sorted by severity
Loading…
Pipeline Status
Loading…
E-E-A-T Audit
Quality signal checklist across every auto-published post — flag anything below 3/5
Post Quality Scorecard
✅ = signal present · ❌ = missing · score out of 5
TitleDateWord CountFAQ SchemaCitationsAuthorLocationScore
Loading…
🚨 BRAND HIJACK DETECTED — Competitors are using your keywords and brand signals. AI engines return competitors 100% of the time when asked about your services.
Scanning…
AI Brand Hijack
When someone searches your brand name in an AI engine and a competitor appears instead of you. Happens when AI has no authoritative content about you to cite.
Paid Brand Bidding
Competitors buying "" as a Google Ads keyword. When your patients search you by name, competitor ads appear above your listing. Measurable and actionable.
Competitor Mentions
Competitor websites that name "" in their content — comparison pages, "alternatives to" posts, or review-bait designed to intercept your branded searches.
SERP Displacement
Third-party sites ranking on page 1 when someone Googles "" — review sites, competitor profiles, or negative content that intercepts your brand traffic.
AI Brand Hijack
Engines returning competitors for your brand name queries
Checking…
Loading…
Paid Brand Bidding
Competitors running ads on "" keywords
Checking…
Loading…
Competitor Brand Mentions
Competitor pages that name in their content
Checking…
Loading…
SERP Displacement
Non-FW pages ranking on page 1 for your brand name
Checking…
Loading…
Threat History — Weekly Scan Log
Every detected brand threat tracked over time
DateThreat TypeSourceDetailSeverityStatus
Loading scan history…
Brand Authority Score
/100
Loading…
Updates every Monday
with the pipeline
Signal Breakdown
Loading…
How Brand Authority Score is calculated
LLM Visibility 25%
How often AI engines recommend . Weighted by engine traffic share.
Branded Search 20%
People searching "" directly — the purest signal of real awareness.
Reviews 15%
Star rating quality × review volume. For a , trust is the purchase trigger.
Backlinks 15%
Referring domains from authoritative sites — earned press, directories, mentions.
12-Week BAS Trend
Brand authority over time — your north star metric
90-Day Mentions
vs prior 90 days
High-Authority (DR 40+)
editorial & press
Referring Domains
unique linking sites
Recent Press & Editorial Mentions
Sites mentioning — sourced from DataForSEO backlink & content explorer
Loading…
Loading…
Avg Rating
out of 5.0
Total Reviews
all platforms
Review Score
/100 (BAS component)
5-Star Rate
of all reviews
Rating Trend — 12 Weeks
Average rating and review volume over time
What Moves Review Score
Rating (60% weight)
Each star above 1.0 adds to the score. 5.0★ = 100 on the rating component. Getting from 4.5 to 4.8 moves the needle more than most tactics.
Volume (40% weight)
200+ reviews = full volume score. You need ~5 new reviews/week to maintain momentum and signal freshness to Google and AI engines.
Response Rate
Responding to every review (especially negative ones) is a trust signal for both patients and AI engines that cite your GBP profile.
GBP Performance
Google Business Profile insights — views, searches, calls, direction requests
Loading…
✓ GBP credentials configured — live data syncs every Monday
👁
Profile Views
8,200
Mar 2026
🔍
Search Queries
Not broken out
📞
Call Clicks
22
Mar 2026
📍
Direction Requests
93
Mar 2026
🌐
Website Clicks
345
Mar 2026
Profile Conversion Rate
5.61%
(345+22+93) ÷ 8,200 views
Industry Benchmark
3–5%
Healthy GBP conversion
Gap
+0.61%
Above 5% benchmark floor
Monthly Breakdown
Month Views Website Clicks Calls Directions
Nov 20257,5001601275
Dec 20258,0002151690
Jan 20268,5003702285
Feb 20267,8003401840
Mar 20268,2003452293
📈 Calls up 83% over tracked period (12 → 22/month) — conversion rate still below 3-5% benchmark but directional trend is positive. Prioritize GBP post frequency and review velocity to accelerate.
Local Pack Heat Map
7×7 geo-grid across Manhattan — your local pack rank at 49 points per keyword
Loading…
Loading keywords…
Rank Grid — select a keyword above
#1–3 #4–10 #11–20 #21+ Not ranked
Top 3 cells
Top 10 cells
Avg rank
Not ranked
Review Intelligence
Star rating trend, review velocity, sentiment, and response rate
Loading…
Google Rating
Yelp Rating
New This Month
Response Rate
Review Volume Over Time
Sentiment Breakdown
Recent Reviews
Latest from Google — pulled weekly
Loading…
GBP Post Log
Every post pushed to Google Business Profile by distribute.py — feeds Gemini and AI Overviews
0 posts
DateKeyword Triggered ByPost SummaryBlog PostStatus
Loading…
How this works
Every time distribute.py publishes a blog post targeting an invisible keyword, it simultaneously pushes a GBP post linking to it. GBP posts are indexed by Google within hours and are a direct signal to Gemini and Google AI Overviews. More posts = more citation surface.
SERP Battleground
Keyword overlap, rank gaps, and SERP feature ownership vs competitors
Coming soon — keyword rank gap data from Reaper Mode
Site Signals
Competitor technical health, speed, backlink velocity — refreshes every Monday
Coming soon — technical intel from Reaper Mode tiers T7 + T8
✅ Execution Tracker
Closed-loop accountability — every action item from Ritual + Demon outputs
0 Pending 0 Done
Action Source Effort Status Date Added Outcome
📋
No tasks tracked yet
Tasks populate automatically from Monday pipeline actions
Look Back Machine
12-month historical performance — drag the slider to compare
Health Score
--
--
Search presence strength
Why this score
Momentum (12 months)
--
--
Trend vs recent history
Why this score
Baseline: -- Now: -- Change: --
GSC: full 12 months GA4: partial before Aug 2025 GBP: Nov 2025 onward Bing: unavailable
View Score Formula
Compare from: --
Organic Visibility + Progress Score
Sessions + Conversion Rate
⚙️ Monday Pipeline
All jobs run on GitHub Actions every Monday — no laptop required
Time (UTC)JobStatusLast Result
1:00 AMPOS Schedule Reminder CompleteSchedule clear ✓
6:00 AMJS Error Monitor CompletePlaywright crawl · 11 pages
7:00 AMMicrosoft Clarity CompleteSessions, scroll depth, rage clicks
8:00 AM☠️ Reaper Mode DormantWaiting for competitor list
9:00 AM😈 Demon Time DormantFires from Reaper data
9:00 AMGoogle Search Console Complete500 keywords · 74 pages · device split
9:00 AMAI Visibility Tracker Complete44 keywords × 5 engines
10:00 AMGA4 CompleteSessions, users, conversions, sources
10:00 AMTechnical SEO Audit CompleteSitemap crawl · per-page issues
11:00 AMPage Speed + CrUX CompletePSI mobile + desktop · 10 pillar pages
12:00 PMKeyword Rankings CompleteDataForSEO · NYC · top 100 tracked
11:30 AMFW Growth Score CompleteComposite of all SEO dimensions
Site Health
Technical vitals, SEO health, speed — refreshes every Monday
Core Web Vitals Score
LCP · 35% weight
target: <2.5s
Page Load Speed — #1 Google ranking signal
TTFB · 25% weight
target: <0.8s
Server Response — Root cause of LCP failure
FCP · 20% weight
target: <1.8s
First impression speed — affects bounce rate
INP · 12% weight
target: <200ms
Click responsiveness — site feels snappy
CLS · 8% weight
target: <0.1
Visual stability — nothing jumps around
After Vercel Migration — Projected Improvement
Current
Loading…
After Migration
Loading…
Speed & Core Web Vitals
Select a pillar page — Real World (CrUX) vs Lab Score (PSI)
Real World Speed is what Google actually ranks you on.  Lab score tells you what to fix.
🌍 Real World Speed
CrUX · Real Chrome users · 28-day rolling average
Loading CrUX data…
LCP
—% Good—% NI—% Poor
INP
—% Good—% NI—% Poor
CLS
—% Good—% NI—% Poor
FCP
—% Good—% NI—% Poor
TTFB
—% Good—% NI—% Poor
🔬 Lab Score
PageSpeed Insights · Lighthouse · Simulated throttled device
Performance Score
LCP — Largest Contentful Paint
FCP — First Contentful Paint
TBT — Total Blocking Time
CLS — Cumulative Layout Shift
INP — Interaction to Next Paint
TTFB — Time to First Byte
Speed Index
View per-page breakdown →
📈 Keyword Rankings (Top 50)
Keyword Position
Change URL
Loading keyword data…
🔴 Dormant — Needs Action
WordPress credentials — Add WP_USER + WP_APP_PASSWORD secrets for Demon Time to auto-publish content
Dominance Index
CRITICAL
target 96.7
Revenue
$—
POS
SEO-Attr
$—
/mo
Org Clicks
/mo
Avg Pos
12.5
below target
How This Score Is Calculated
The Dominance Index is a weighted composite of 6 signals:
Signal Score Weight Pts
Technical Health20%
Content Visibility20%
AI Presence20%
Local Dominance15%
Authority15%
Conversion10%
TOTAL: — / 100 Missing: points uncaptured
What Moves This Score
Speed fix (LCP 4.67s → 1.8s)+10 ptsMonth 1-2
Review velocity (63 → 150+)+2 ptsMonth 1-3
Content engine (0 → 24 articles)+3 ptsMonth 2-5
AI citation building+18 ptsMonth 3-8
Backlink campaign+5 ptsMonth 2-6
Why It Matters
Each point recovered = more clicks retained, more local actions captured, more bookings converted.
Current revenue gap: $—/mo uncaptured.
Opportunity Score
How much search growth is still available
--
--
Rank Headroom
--
35% weight
Demand Headroom
--
30% weight
Opportunity Pockets
--
25% weight
Trajectory Factor
--
10% weight
View Formula
# Action Dimension Effort Impact Status
Revenue Trajectory
Current path vs SEO growth actions