Say So is a tiny embeddable widget that turns scattered comments into a calm, sortable inbox — so the right things get built, and nobody opens another support queue.
Free forever for one project · live in 60 seconds
Dark mode for the dashboard would be lovely 🌙
Export button 404s on the invoices page.
Slack notifications when new feedback lands.
This one’s really live.
Give it a tap — the panel opens in the corner, and it actually sends.
No bloated suite to learn. Just the few things you need to hear your users and act on it.
Paste a single <script> tag and the widget mounts in a Shadow DOM — your CSS stays untouched, your bundle stays tiny.
Ideas, issues, and notes land in one place. Filter by type, search the text, and resolve with a click. No new tab, no Jira.
Color-coded tags turn a pile of feedback into a roadmap. Slice by theme and see what people actually keep asking for.
Per-project allow-lists and built-in rate limiting keep spam out. Your widget only answers to domains you trust.
Call SaySo.identify() and every submission carries the user's id and email — context without a single extra question.
Get a ping the moment feedback arrives, and a heads-up before a free project hits its limit. Stay in the loop, not the weeds.
Create a project, copy the snippet, drop it before </body>. You're live in under a minute.
Visitors tap the launcher, pick a type, and say their piece. It's that low-friction — so they actually do.
Read, tag, and resolve from your dashboard. Turn scattered comments into a ranked to-do list.
One snippet, three ways to open it. Use whichever fits — or mix them.
A tidy launcher sits in the bottom-right corner. Works out of the box — nothing to wire up.
<script src=".../w.js" data-sayso="PROJECT_ID" defer></script>Add data-sayso to any link or button and the panel opens right next to it.
<button data-sayso>Feedback</button>Hide the default launcher and open only from your own triggers.
<script … data-sayso-launcher="false">No seats, no metered surprises. One flat plan when you outgrow free.
For your first project.
$0
For when one project isn’t enough.
$20 /month
or $100/year — save 58%
For teams that need more than the basics.
One line of HTML. Create a project, copy the <script> tag, paste it before your closing body tag. The widget renders in a Shadow DOM so it never collides with your styles.
No. w.js is a tiny vanilla script with zero dependencies, served with long cache headers. It loads after your page is interactive and stays out of the way.
Free gives you one project and 50 lifetime feedback submissions, plus 3 tags. We email you before you hit the wall, and Pro lifts the caps entirely.
Yes. Each project has an allowed-origins list, so only the domains you name can post. There's also per-IP rate limiting to keep things tidy.
Pro covers unlimited projects, submissions, and tags. Need white-labeling or an SLA? Enterprise has you covered — just reach out.
Same one-script widget, tuned for how your audience talks.
In-app bug reports, feature requests, and roadmap signal.
ExploreCatch checkout friction and product requests before shoppers bounce.
ExploreA white-label feedback widget for every client site you ship.
ExploreLet readers and members shape what you make next.
ExploreCatch the docs gap on the exact page it happens.
ExploreCollect feedback on Webflow, Framer, or Carrd — no dev needed.
ExploreFind the exact lesson where students get stuck.
ExploreTalk to users from day one and iterate fast.
ExploreOne script away from a feedback loop your whole team will use.