Review widgets and site add-ons: every screen, and the journeys between them
Example data for Sunrise Smiles Dental, a fictional clinic with two locations in Pune. 75 screens; 20 are tagged Needs backend work. The whole feature is new apart from the review inbox and the review kit, so the tag marks only notable extra work (crawls, schedules, third-party calls). Click a screen to open it; each page has Prev and Next for its journey. Nothing here is connected to a real account.
What this shows
- Reviews are printed into the page's own HTML, so Google and AI assistants can read them. The install check proves it page by page.
- The header always shows Google's own rating and total (4.6 from 57). A rating filter adds a disclosure that can't be switched off.
- Hiding a review needs a reason that applies to any rating. There is no review gating, no gifts for reviews and no invented content.
- Places reviews are never published. A connected Google Business Profile is required, and a disconnected location shows the date its reviews stop.
- Limits are counts and widgets never go dark: on downgrade an extra widget keeps its last copy for 14 days, then shows a one-line badge, never a blank space.
- A review score and rank against a named rival (Pearl Dental Care) ties reviews to something the owner wants to win. The score can't be bought.
- The same editor shell serves review widgets, the WhatsApp button and the FAQ. Every publish is a version with a one-click restore.
- The last journey shows three design choices side by side: where add-ons live, the editor layout, and the first run. Option a is recommended each time.
1Website add-ons
2Edit a widget
ED01Editor: Reviews tab
ED02Editor: Fairness drawer
ED09Editor: pick by hand
ED03Editor: Layout
ED04Editor: Design
ED05Editor: Header and cards
ED06Editor: Behaviour
ED07Preview and Google viewNeeds backend workServer render of the draft widget; raw HTML fetch and parse for the review count
ED08Publish changes
VR01Versions and restoreNeeds backend worksite_addon_versions is immutable; restore copies a version to a new one and moves the publish pointer
ED10Reviews page: set up and share3Other add-ons, same shell
4Put it on the site
IN01Install: where is your site
IN02Install: WordPress pluginNeeds backend workSite key issue and rotation; plugin activation ping; per-widget server render endpoint for the plugin
IN03Install: email the code to a developer
IN07Developer check page, no loginNeeds backend workSigned link with 14-day expiry; read-only crawl endpoint
IN04Install: status and crawl checkNeeds backend workScheduled crawl fetching each page's raw HTML without JavaScript; tag ping store; on-demand re-check
IN05Install: Wix and other builders, tag or pasteNeeds backend workPaste-HTML snapshot export; email when the shown set changes by 5 or more reviews
ER08Pasted HTML is out of dateNeeds backend workDiff of the pasted snapshot against the current render; email on 5 or more changes
IN06Ask theStacc to install it
IN08Site built by theStacc: place without code5Reviews day to day
RV01Reviews: inbox with where each review shows
RV02Review detail: reply and see where it showsNeeds backend workAI reply draft (5 credits); post reply through the Business Profile API; reply copied into the widget HTML on the next render
RV03Hide a review from widgets
RV04Sources (Settings)
RV05Get reviews: link, QR and messages
RV06Settings: review and site alertsNeeds backend workAlert rules per member; WhatsApp Business template messages; weekly digest job; tag-silence and sync-failure monitors
RV07WhatsApp: low-review alert
TM01Settings: team and roles6Owner on the phone
7Is it working
AN01Insights: are the review widgets workingNeeds backend workEvent store for views and clicks from the site tag; daily roll-up per widget and per page
AN05Insights: clicks per widget and views per page
AN02Review score against the named rivalNeeds backend workNightly score job over all dentists in the city area; rival pick by category, area and nearest score above
AN04Score history and what moves it
AN03Monthly report email: reviews section8Plans and the Free tier
WS05Settings: plan and limits
FR01Free plan: your widget is ready
FR02Free plan: limit reached on publishNeeds backend workPublish returns 409 with the limit and the live add-on id
ST01Change plan: what happens on FreeNeeds backend workDowngrade job: pause over-limit widgets, keep last good HTML 14 days, then render the one-line badge
ST02Website on Free: a paused widget9Agency and support
AG01Agency: all clients
AG03Agency: one client
AG02Settings: white label (v2)Needs backend workCNAME verification and TLS certificate per custom domain; v2
SP01Support console: look up a widgetNeeds backend workStaff-only lookup across workspaces; re-render and CDN purge; tag kill switch; audited review removal
SP02Support: confirm with a reason10When things go wrong
ER09Website before any location is connected
ER01Baner's Business Profile disconnectedNeeds backend workGBP token expiry detection; 30-day storage cap job that purges held reviews; one-line badge fallback after the cap
ER07Reconnect link page, no login
ER02New location with no reviews yet
ER05A second listing on Google, not connected
ER06Sync failedNeeds backend workRetry schedule and the 12-hour alert
ER03Editor: rules that match no reviews
ER04Tag on the wrong domain or silentNeeds backend workPer-domain tag ping log; domain allow and block list enforced at the render endpoint; 7-day silence detector11What visitors see
VS01Clinic homepage: badge and reviews carousel
VS02Treatments page: corner badge opened and footer strip
VS03Hosted reviews page on FairviewNeeds backend workServer-rendered page on fairview.example; GBP reviews only, never Places; QR generator
VS04Clinic homepage on a phone
VS05Every v1 layout on the clinic's site
VS06The homepage as a crawler fetches it
















