NPS that moves
for a reason.
Generic NPS is a number floating in space. Brily ties every response to a user identifier and a release marker. When the number moves, you can tell whether you shipped something good, shipped something bad, or the sample changed.
"The new search finally returns something useful on long queries. I used to work around this with manual filters."user 8392 · Pro plan · 14 months
10 KB in-app widget
A single script tag or npm package. No third-party cookies, no session recording, no tracking pixel. Your users see a question and give an answer.
Release-event triggers
POST a release marker from CI. Surveys fire on the right cohorts at 24 hours, 7 days, or 30 days after exposure. Before and after cohorts compute automatically.
Your user identifier on every response
Every response carries the external user ID you supply. Segment by plan tier, account age, or feature-flag exposure. Pipe the raw data into BI via webhook.
Email delivery when in-app is not enough
Not every product has an in-app surface. Send surveys by email with open and click tracking, or with tracking fully disabled if that is your posture.
Reports that surface verbatim comments
Not a gauge chart. Score over time, segmented by cohort, with verbatim comments sitting next to the release markers that preceded them. You will see which ship hurt.
Export everything, no unlock fee
CSV, JSON, webhook. Your responses, your data. No per-export charge, no enterprise-tier paywall.
10 KB. Zero trackers.
A single script tag or npm package. Calls exactly one endpoint: ours. No third-party cookies, no session recording, no fingerprint. Your users see a question, give an answer, and go back to what they were doing.
- → Configurable trigger: time-in-app, release event, manual
- → Brandable: colors, copy, logo, dark and light modes
- → Accessible by default: keyboard, screen reader, reduced motion
How likely are you to recommend ship-os to a colleague?
The before-and-after cohort report
This is the feature that justifies the module on its own. You ship a release and tell us about it (one API call, or one Slack slash-command). From that moment, every response lands in one of two cohorts: exposed to release X, or not yet exposed. The dashboard compares their NPS distributions.
No more debates about whether NPS moved because you shipped the new onboarding or because marketing pulled in a different cohort of trial users. The numbers come pre-tagged.
What you will not get from us
- Scripted follow-up emails. NPS-as-a-service vendors tack these on. They irritate users. We do not do them.
- Third-party analytics injection. Our widget calls exactly one endpoint: ours. It does not fingerprint your users.
- Gamification. No promoter badges, no leaderboards. Just the raw signal.
Who this is for
Product teams who already run NPS and are frustrated that their current tool makes it hard to connect the score to a release. Agencies running post-launch check-ins for client products without standing up a separate stack.
Related reading
Tie your next release to real feedback.
Free plan covers 100 NPS responses per month. Enough to pilot the module on a single product.