New: identify your users & unlimited tags on ProGet started →
Feedback tool for startups & MVPs

Talk to users from day one.

Ship your MVP with a feedback button built in. Hear what's confusing, what's broken, and what to build next — straight from the people using it.

Free to start · live in 60 seconds

app.yourstartup.com

Inbox

AllIdeasIssues
IdeaOnboarding2m

I wasn't sure what to do after signing up.

BugBilling2m

Upgrade button did nothing on Firefox.

NoteLove2m

Exactly what I've been looking for!

Live widget

This one’s really live.

Give it a tap — this is the loop your earliest users get.

“Talked to 50 users week one.”★★★★★“Our roadmap is just the inbox.”say.so“Caught launch-day bugs fast.”live in 60s“PMF, one note at a time.”1 script · 0 deps“Talked to 50 users week one.”★★★★★“Our roadmap is just the inbox.”say.so“Caught launch-day bugs fast.”live in 60s“PMF, one note at a time.”1 script · 0 deps
Built for day one

Ship fast. Learn faster.

Skip the heavy tooling. Get a direct line to your first users while you're still finding product-market fit.

Live in a minute

One script and your MVP has a feedback loop. No backlog, no setup project.

Know who said it

Call SaySo.identify() to attach a user's id and email, so you can follow up on every insight.

Spot the pattern

Tag feedback and watch the same request surface again and again — that's your next sprint.

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.

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.

Can I tell who left feedback?

Yes. Call SaySo.identify({ id, email }) for logged-in users and every submission carries that context — no extra questions.

Is it free while we're small?

Yes — one project, 50 lifetime submissions, and 3 tags, free forever. Upgrade to Pro (unlimited everything) when you're ready.

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.

Build it with
your users.

Put a feedback loop in your MVP today and let real usage steer the roadmap.