Stop rebuilding feedback forms and quizzes.
Customer Bits stores your customers' feedback and runs your in-app quizzes. Your backend makes the call with one API key, your app keeps its own screens, and we only ever see an ID you choose, or none at all.
In your app
Drawn the way your app might draw it. Customer Bits ships no widget, so the screen stays yours.
What your backend sends
POST /api/feedback
X-Cusi-Key: $CUSI_API_KEY
Content-Type: application/json
{
"external_user_id": "8241",
"feedback_type": "bug",
"message": "The scan button does nothing on Android 14."
}201 Created, and a message in your team's Slack channel if the project has a webhook.
The bits
Each bit is a handful of endpoints behind the same project key. Two ship today. The rest are planned, and listed here so nobody buys a roadmap by mistake.
Feedback
Bug reports, feature requests and general notes, with an optional subject, app version and platform. Each one can also post to your team's Slack.
Calls
POST /api/feedback
Status
Shipping
Quizzes
Single choice, multiple choice and free text, with availability windows, one response per person and dismissals. A claim call keeps the push job you already run in charge of notifications.
Calls
GET /api/quizzes/availableGET /api/quizzes/{id}POST /api/quizzes/{id}/submitPOST /api/quizzes/{id}/dismissPOST /api/quizzes/{id}/notification-claims
Status
Shipping
Planned
Surveys, NPS, in-app announcements, changelogs and a support inbox.
Calls
Not built yet
Status
Planned
Why your backend makes the call
Your backend already knows who is signed in. Customer Bits sits behind it, so it never needs to.
- No end-user client calls it
- Browsers and phones never talk to Customer Bits, so there is no public key to leak and no copy of your user accounts. Send your own ID to trace a message back to a customer, or leave it out for anything anonymous.
- A project is the tenant
- The project comes from the key, never from the request body, and two projects in the same company share nothing. Only a SHA-256 hash of each key is stored, so a key is shown once.
- Every change is recorded
- Feedback, quizzes, responses and team changes write an audit trail with a field-level diff and the project or person that made the change.
Start with one project
Registering creates your company. In the console you add a project, copy its key once, and point your backend at the API.