Every report gets a hearing.

Heresay adds a Report button to any app. Your users say what's wrong. You decide. They hear back, right there in the app.

This stays in your browser.

Free while in beta · No accounts for your users · Works with any website

Scroll

How a report travels

  1. They say it. A person taps Report in your app, picks broken, confusing, could be better or idea, and writes a sentence. They never pick a priority.
  2. A person decides. It lands in your dashboard with the page, browser, device and app version attached. You accept it, or decline it with a reason the reporter reads.
  3. Only accepted reports pass. A report you haven't accepted never becomes a prompt, and what the public writes is quoted as a description, never as instructions.
  4. They hear back. Your coding agent gets a brief, fixes it, and the reporter sees "Fixed" in the same app.

01 The hall of voices

Everyone has something to say.

Nobody picks their own priority.

Your users send reports in their own words, all day long.

Heresay sorts them by what they are: broken first, then confusing, could be better, and ideas.

1Broken

Checkout hangs on a spinner.

Login loops back to the start.

2Confusing

Where did the Share button go?

Is my draft saved or not?

3Could be better

The sidebar feels cramped.

Error messages are hard to read.

4Idea

Could you add a dark mode?

An undo for deletes, please.

02 You decide

It's your call.

A person says yes first. A no always comes with a why.

This is your report. Try it: accept it, or decline it.

Heresay · Reports
Reportsmost urgent first
BrokenYour reportNew

The export button does nothing.

  • page/
  • browserChrome
  • devicemacOS
  • host appv1.4.0
Confusing

I can't find where to cancel my plan.

/settings/billing · Chrome · macOS · v1.4.0
Could be better
Your reports

The export button does nothing.

Sent
Why:
What the reporter sees

03 The gate

Nothing reaches your coding agent until you accept it.

Reports come from the public, so their words are treated as a description, never as instructions. Accepted reports become a clean prompt you can hand to any coding agent.

04 The agent

The agent gets your words, quoted as data.

They hear back, right there in the app.

Brief for your coding agentIllustration

        
Working
9:41
Your reports

The export button does nothing.

AcceptedFixed

Dark mode flickers when the page loads.

Fixed
Heresay · nowFixed: The export button does nothing.

05 Details

Small, careful, yours

Built to sit quietly inside someone else's app.

Context, attached

Screen, app version, browser, OS, and who the user is if you tell us. No screenshots, no guessing.

The answer comes back

Every report shows its status to the person who sent it. A decline always carries your reason.

No accounts for users

People report without signing up. You can pass their name or id from your app if you want it.

A person says yes first

Only reports you accept become a prompt for your coding agent. Nobody can steer your agent with a report.

Safe by default

Your key only works on your site, and every device, network and app is rate-limited.

Matches your app

Neutral by design, with one line to use your own brand colour. Light and dark mode are automatic.

06 Setup

Set up in three steps

Your own Heresay, in your own Google account. Reports never sit on anyone else's servers.

Terminal
$ npx create-heresay
→ Signing you in to Google
✔ Firebase project created
✔ Dashboard, API and SDK deployed
✔ You are the owner
→ Open https://<your-heresay>.web.app
1

Run one command

npx create-heresay creates a Firebase project for you and deploys the dashboard to it. About five minutes.

2

Paste one line

Put the script tag before </body>. A Report button appears in the corner.

3

Read your reports

Open the dashboard. Accept, decline with a reason, and mark things fixed.

That second step is the whole install. Before </body>: drag the line into the page.

<script src="https://<your-heresay>.web.app/sdk/v1.js" data-key="pk_…" defer></script>

An illustration. Nothing here is sent anywhere.

your-app.com

07 FAQ

Questions

How much does it cost?

Heresay itself is free. It runs in your own Firebase project, and Firebase's free tier covers a small app. Past that, you pay Google directly, usually cents.

Will it slow my app down?

No. It's one small script with no dependencies, it loads after your page, and if our service is ever down your app carries on normally.

What do you collect?

What the user types, the report type, and context: the page, your app version, browser and OS. No screenshots, no cookies. A random device id is kept in the browser so people can see their own reports.

Do my users need an account?

No. If your app knows who they are, you can pass a name or id with one call.

Can it match my brand?

Yes. Add data-accent="#yourcolour" to the script tag. The widget stays neutral otherwise, and follows light and dark mode.

How does it work with coding agents?

When you accept a report, the dashboard gives you a ready-made prompt for your coding agent. Reports you haven't accepted never become prompts.

Which platforms are supported?

Any website, whatever it's built with, and iOS and macOS apps with a Swift package. Android, React Native and Flutter are on the way.

Can someone spam my reports?

Your key only works on the site you register, and reports are rate-limited per device, per network and per app.

One line. Every report gets a hearing.