Capture signals where your users already are.
Embed a lightweight widget in your app. Users report friction in context. The signal lands in the pipeline already linked to the page, user, plan, and feature — auto-classified by the same engine that handles every other channel.
A capture surface — not a quarantined inbox.
Submissions land in the same pipeline as Slack, the support widget, and App Store reviews — context attached, classified, counted.
Page URL, user identity, plan, recent actions auto-attached on submit.
The PM never asks "where did this happen?" — the answer is in the payload. Enterprise admin on their fourth bulk export reads differently than a free user fumbling onboarding. The widget knows which is which.
Same pipeline as every other channel. Feature request vs bug vs praise.
No separate CX inbox. No scribbled label that nobody acts on. The submission lands classified, sentiment-scored, linked to the relevant feature, and counted on the scorecard before the user closes the modal.
<12kb async script. Loads after interactive paint. No render blocking.
Performance budget is not a footnote — the widget defers until after the page is interactive. Your Lighthouse score stays clean. The marketing site team stops complaining about your script tag.
Widget submissions join the same intelligence layer — they're not a silo, they're a channel.
In-product feedback usually dies in a CX inbox.
A user hits friction on a Tuesday at 3:47pm — slow search, broken filter, confusing copy. They open the widget, type two sentences, hit submit. The signal lands in a CX queue. A rep tags it with whatever label feels right that morning. The ticket gets closed. Three weeks later the PM is doing roadmap planning and has no idea this happened. The friction was captured. The intelligence was lost.
Worse — most widget tools strip the context that mattered. The submission arrives with no page URL, no user identity, no plan tier, no last-10-actions trail. The PM reading it later has no idea whether this was a free user fumbling onboarding or an enterprise admin on their fourth bulk export of the day. The signal is technically present and practically useless. By the time it would have been worth ten dollars in the prioritization meeting, the meeting is over.
Capture the signal, the context, and the consequence.
Every submission arrives classified, linked, and counted toward prioritization within seconds.
In-context capture, auto-attached
Page URL, user identity, plan tier, last 10 actions, viewport, browser, timestamp — all attached automatically. You never ask "where did this happen?" because the submission tells you. Pass any custom metadata your app already tracks and it shows up on the signal too.
Auto-classified by the same pipeline
Widget submissions flow into the same engine that handles Slack, App Store, Google Play, Web Scraper, and the other 9+ channels. Feature request vs bug vs praise classified in under a second. Linked to the right feature. Sentiment-scored. Deduplicated against prior signals from the same account.
Brand-matched, position-flexible
Match your brand in two minutes. Position (corner, edge, custom anchor), color, trigger copy, modal copy, field set are all configurable from the workspace. CSS overrides exposed for teams that need pixel-level match. No design system required to ship the widget on day one.
Lightweight script, zero render blocking
Single async script under 12kb gzipped. Loads after interactive paint, attaches no synchronous handlers, never blocks rendering. Lighthouse performance scores are unaffected. Drop it in any app — React, Vue, vanilla, server-rendered — in under five minutes.
From submit to scorecard in 47 seconds.
What actually happens when a user hits the widget — and what the PM sees on the other side.
Acme admin hits friction on /exports.
"Why is there no date filter? I'm doing this manually every Friday." They type 14 words. Hit submit. The modal closes. The signal lands in the pipeline 800ms later with page URL /exports, user [email protected], plan Enterprise, and the last 10 actions on file.
Pipeline classifies, links, scores.
The signal is tagged Feature Request and linked to the existing "Bulk Export Filters" item — the /exports URL and plan tier the widget attached make the match unambiguous. Sentiment scored 0.34 (frustrated). Deduplicated against the four prior Acme signals on the same theme. Reach ticks up. Impact recalculates.
PM sees it in the intelligence brief.
The morning brief highlights Bulk Export Filters: signal count up to 48 (was 47), enterprise asks now four. The PM clicks through to the Acme quote and the context the widget attached — /exports, Enterprise plan, the Friday-export pattern in the action trail. The Living PRD already cites the new signal.
Widget signals on the scorecard.
"Why is Bulk Export Filters #2?" The PM expands the evidence trail. 48 signals · 4 channels · 12 enterprise accounts. Of those, 17 came from the widget — direct from in-app friction. The conversation moves to sequencing. The submit-on-Tuesday became evidence-on-Friday with zero manual triage.
The widget is one of 9+ channels feeding one engine.
What flows in. What flows out. Where the widget sits in the pipeline.
Your users, in your app
The widget captures direct in-product friction — typically 3-8x the volume you would get from email alone. URL, identity, plan, and recent actions are auto-attached. No CX triage step. The submission arrives complete.
Signal Pipeline & Intelligence Hub
Every submission joins Slack, App Store, email, Google Play, Web Scraper, the Public Portal, and the other 9+ channels (plus REST API, Zapier, Make) in the same pipeline. Classified in under a second. Linked to features. Counted in clusters in the Intelligence Hub.
RICE scores, Living PRDs, Ask Mind
Widget signals contribute to reach and impact on the linked feature's RICE score, get cited in Living PRDs by name and quote, and surface in Ask Mind when you ask "what are users saying about /exports?" The capture compounds.
The widget is one channel feeding the same brain.
In-app signals join the MIND engine through the same pipeline as every other channel — classified, sentiment-scored, and linked to a feature before the user closes the modal. Tuesday's submission becomes Friday's PRD citation, a shift in the RICE score, and an answer in Ask Mind. The widget alone is a contact form; wired into the engine, every submission compounds.
Questions PMs ask about the feedback widget.
Other capture channels and what they feed.
Signal Pipeline
9+ channels — including the widget — classified, linked, scored, and deduplicated in under a second per signal.
Learn more →Intelligence Hub
Where widget signals cluster with the rest. Trending themes, daily brief, cluster suggestions ready for the roadmap.
Learn more →MIND Engine
The persistent intelligence layer that turns widget submissions into evidence that compounds with every signal processed.
Learn more →