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.

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

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

How it works

Four steps, and nobody is left waiting.

1

They say it

A user taps Report and picks what it is: broken, confusing, could be better, or an idea.

2

You hear it

It lands in your dashboard with the screen, app version, browser and device attached.

3

You decide

Accept it, or decline it with a reason. A no always comes with a why.

4

They hear back

The user sees your answer in the same app. When you fix it, they see that too.

Both sides of the conversation

What your users see, and what you see.

In your app

Your users never make an account. They tap, type a sentence, and later see your reply.

Accepted, being worked on

The export button does nothing.

Declined

I can't find where to cancel my plan.

Why: It's under Settings → Plan. We'll make it easier to find.

In your dashboard

The most urgent first: broken, then confusing, then the rest. Nobody picks their own priority.

Confusing

I can't find where to cancel my plan.

/settings/billing · v1.4.0 · Chrome · macOS
AcceptDecline…
Broken

The export button does nothing.

/export · v1.4.0 · Safari · iOS
Copy prompt for agentMark fixed

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.

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.

Set up in three steps

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

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.

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.