Hear from your users.
Without watching them.
In-app feedback and anonymous usage tracking for mobile apps. One small container, Postgres, a one-file SDK and a dashboard. No account, no IP address, nothing to ask consent for.
Built for our own apps and running in production there. Shared as-is.


How it works
Three steps, about five minutes
- 1
Run it
Run docker compose with the example in the repo: one container and a Postgres beside it, on your own server.
- 2
Wire the SDK
Copy one file into your Expo or React Native app, give it the server's URL and a write key, and call init().
- 3
Read and answer
The dashboard shows installs, sessions, retention and your own events, and the feedback inbox where you reply.
What it looks like
One dashboard for every app
Screens from the live demo, which runs on invented data. Click through it yourself.
What you get
The two things a small app needs to hear
Feedback, as a conversation
Users write from inside the app: a problem, an idea, or kind words. You answer on the dashboard (and by email, if they left one); they read it in the app and can reply.
Anonymous by design
A random install id is the only identifier. No IP address is stored anywhere, and nothing personal is collected, so there is no consent banner.
The numbers that matter
Installs, sessions, retention, versions, a paywall funnel, and your own events with props, each app with one highlight metric of its choosing.
Revenue next to usage
Optionally, RevenueCat's own figures on the same page, pulled by your server with a read-only key.
Yours to run
One container and Postgres on your own server. Your users' data never passes through anyone else.
One-file SDK
Queues offline, batches, survives being killed or backgrounded, and never throws into your app. If the server is down, the app behaves exactly as without it.
Privacy, plainly
What hush stores, and what it never does
Stored
- A random install id the app creates; deleting the app deletes it
- App version, OS, device model and the phone's language
- The events and props your app sends (what the app did, not who did it)
- Feedback messages, and an email address only if a user typed one
- Country, only if you enable it behind a trusted proxy
Never
- IP addresses, in the database or anywhere else
- Accounts, names, or advertising identifiers
- Fingerprints or cross-app tracking
- Raw events past the retention window (180 days by default)
- Your users' data on any server but yours
FAQ
Questions, answered
Five minutes from clone to your first event
Free, MIT licensed, and small enough to read in an afternoon.



