New: identify your users & unlimited tags on ProGet started →
Reader feedback widget for blogs

Let your audience shape what's next.

Add a friendly feedback button to your site or newsletter and turn passive readers into a steady stream of ideas, requests, and kind words.

Free forever for one site · live in 60 seconds

yourname.com

Inbox

AllIdeasIssues
RequestTopics2m

Please do a deep-dive on pricing pages!

NoteLove2m

This newsletter is the best part of my Friday 💌

ProblemSite2m

Dark mode toggle doesn't stick on reload.

Live widget

This one’s really live.

Give it a tap — it's exactly what your readers would see.

“My content calendar writes itself.”★★★★★“Readers finally reply.”say.so“So many topic ideas.”looks like your brand“Kind words in one place.”1 script · 0 deps“My content calendar writes itself.”★★★★★“Readers finally reply.”say.so“So many topic ideas.”looks like your brand“Kind words in one place.”1 script · 0 deps
Built for your audience

Quiet readers. Loud signal.

No forms, no logins. Just a tap to tell you what they want more of.

Topic requests on tap

See what your audience actually wants you to make next — sorted, not scattered across DMs.

Lower the barrier

A one-tap launcher means people who'd never email you will still leave a note.

Looks like you

Match the button to your brand color so it feels native on your site or newsletter.

Three steps, that’s it

From copy-paste to clarity.

Need a hand installing? Ask the team
01

Embed

Create a project, copy the snippet, drop it before </body>. You're live in under a minute.

02

Collect

Visitors tap the launcher, pick a type, and say their piece. It's that low-friction — so they actually do.

03

Triage

Read, tag, and resolve from your dashboard. Turn scattered comments into a ranked to-do list.

// drop this before </body>
<script src="https://trysay.so/w.js" data-sayso="PROJECT_ID" defer></script>

Launch it your way

One snippet, three ways to open it. Use whichever fits — or mix them.

Default

Floating button

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>
Anchored

Your own button

Add data-sayso to any link or button and the panel opens right next to it.

<button data-sayso>Feedback</button>
Headless

No floating button

Hide the default launcher and open only from your own triggers.

<script … data-sayso-launcher="false">
Honest pricing

Start free. Upgrade when it clicks.

No seats, no metered surprises. One flat plan when you outgrow free.

Free

For your first project.

$0

  • 1 project
  • 50 lifetime submissions
  • 3 color tags
  • Email notifications
Get started free
Most popular

Pro

For when one project isn’t enough.

$100 /year

$8/mo billed yearly · save 58%

  • Unlimited projects
  • Unlimited submissions
  • Unlimited tags
  • Identify your users
  • Email notifications
Start with Pro

Enterprise

Custom

For teams that need more than the basics.

WhitelabelingService-level agreementsLive chat support
Talk to us
Good questions

Things people ask.

Where can I add it?

Anywhere you can paste an embed: your blog, portfolio, docs, or a newsletter landing page. It renders in a Shadow DOM so it won't touch your styles.

How long does install really take?

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.

Will it slow my site down?

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.

Is there a free plan?

Yes — one site, 50 lifetime notes, and 3 tags, free forever. Pro lifts the caps when your audience grows.

Hear your readers.
Make what they want.

One button away from a backlog of ideas your audience actually asked for.