Discovery Dashboard¶
Plan Tier: Command Feature flag:
dashboard_discovery_v1Live Mirror backend:AiVisibilityService::liveMirror()(Bedrock Claude, grounded on live search)
Overview¶
The Discovery Dashboard answers one question on the user home page: how discoverable is your AWS Marketplace listing right now? It pulls your real signals into a single view — a headline Discovery Score, a discovery funnel, and a Live Mirror of how AI assistants actually describe your listing.
It is feature-gated behind the dashboard_discovery_v1 setting — nothing user-facing changes until that flag is enabled.
Everything on the dashboard is scoped to a single listing (chosen in the listing picker), so the Hero score, funnel, and mirror all reflect the same product via per-listing cache keys.
The Hero Discovery Score¶
The Hero score is a composite, computed page-load-safe from cached signals only — it never fires a synchronous external probe. It weights two signals and normalizes across whichever are actually present:
| Signal | Weight | Source |
|---|---|---|
| SEO score | 60% | The persisted Marketplace SEO Score for the listing |
| AI visibility | 40% | The Live Mirror's surface-vs-checked ratio (how many assistants surfaced the listing out of those checked) |
The score goes live the moment either real signal exists. With only one present, the composite uses that one (weights normalize). With neither, the dashboard shows an illustrative sample of 72, honestly badged Sample.
Honest provenance
Every value on the dashboard carries provenance. Real composites are marked live; the blueprint placeholder is marked sample. You always know whether you're looking at your data or an illustration.
The discovery funnel¶
The funnel walks a buyer from "an assistant knows you exist" down to conversion. Stage 1 — AI assistant visibility is the cell whose live source already exists at page load: it's wired to the cached Live Mirror result. When a real mirror run exists, Stage 1 shows your real surface/checked numbers; otherwise it shows the illustrative blueprint.
Later funnel stages that aren't wired to a live source yet render an honest empty state — a "connect to unlock" prompt linking to the relevant connect flow (AWS seller report or CRM) — rather than fabricated percentages.
The Live Mirror¶
The Live Mirror is the dashboard's real-signal engine. It runs actual checks — via AiVisibilityService::liveMirror() — of how AI assistants describe your listing: whether they surface it, describe it accurately, or misread it.
| Property | Behavior |
|---|---|
| Trigger | On demand ("Run the mirror" / "Re-run") — kept off the page-load path (~4s per run) |
| Backend | A live probe via Bedrock (Claude), grounded on live search data |
| Caching | Each run is cached to the listing's per-listing key; the dashboard reads that cache back |
| Real-only | Runs only against a real listing context — never fabricated context. With no listing, it returns a prompt to add one first |
This makes the Live Mirror the post-publish counterpart to the Listing Alignment Grader: the grader asks "is there credible proof for assistants to surface?" before you publish; the mirror shows "do assistants actually surface you?" after.
Connect your listing to see real data¶
The dashboard is designed to be useful before and after you have real signals:
No connection / no listing → illustrative blueprint, every value badged "Sample"
↓ connect AWS + add a listing
SEO score persisted → Hero score goes live (SEO-only composite)
↓ run the Live Mirror
Live Mirror cached → AI-visibility folds into the Hero score (full composite),
Funnel Stage 1 shows real surface/checked
To move from sample to live:
- Connect your AWS account and let Listing Sync import your real listings.
- Pick the listing in the dashboard's listing picker.
- Run the Live Mirror to capture how assistants describe it.
- Watch the Hero score flip from
Sampletolive, and Funnel Stage 1 populate with real numbers.
Sample is a preview, not a measurement
The blueprint 72 and its funnel values exist so you can see the shape of the dashboard before you have data. Don't read them as your score — they switch to real values the moment a real signal lands.
What this is not¶
- A scraper. The Live Mirror is a grounded model probe of how assistants describe your listing, run on demand — not a scrape of your listing pages.
- A continuous monitor. Mirror runs are on demand and cached; re-run to refresh.
- A pre-publish proof check. For "is the proof there for assistants to find?" before you publish, use the Listing Alignment Grader.
Plan availability¶
| Capability | Starter | Accelerate | Command |
|---|---|---|---|
Discovery Dashboard (dashboard_discovery_v1) |
— | — | ✅ |
See also¶
- Listing Sync — imports the real listings the dashboard scores
- Listing Optimizer — drill into the 0–100 component scores behind the SEO signal
- Listing Alignment Grader — the pre-publish counterpart to the Live Mirror (
listing_alignment_grader) - Agent Discoverability Score — the AI-visibility + backlink scoring concept (
marketplace_listing_seo)
Hero composite: SEO 60% + AI visibility 40% (UserController::discoveryScore) · Funnel Stage 1 wired to cached Live Mirror · Live Mirror: AiVisibilityService::liveMirror(), on-demand + cached · Feature flag: dashboard_discovery_v1