Feedback
Type-safe Bijection component for feedback, feature requests, bug reports, voting, comments, and duplicate search.
git clone https://github.com/bijectionhq/feedback.git
cd feedback
git checkout 4adc005e305014bba8c0c7e5bb2a5d7ea5be25e0
cd packages/convex-feedbackBijection repository access is required. Request access.
Description
Type-safe Bijection component for feedback, feature requests, bug reports, voting, comments, and duplicate search.
Explore the package README for API concepts, configuration, and examples. Check the Bijection source for adaptation-specific setup.
Review the source and its dependencies before adopting this package. Source availability does not establish npm publication or runtime qualification.
Getting started
- Get the source at the revision above and read its package documentation.
- Check the required Bijection SDK version, dependencies, and external service credentials.
- Follow the package setup instructions and the guide to using components.
- Exercise the component in your deployment according to your project’s verification rules.
Open source
Maintained source: bijectionhq/feedback. Based on Moumen-io/convex-feedback. License: Apache-2.0. Consult the repository for license terms, notices, and contributor attribution.
From the upstream publisher
Type-safe Convex component for feedback, feature requests, bug reports, voting, comments, and duplicate search.
Explore the demo ↗Upstream overview
From the upstream package documentation.
Convex Feedback is a type-safe Convex component that adds product feedback infrastructure to an existing Convex app, covering feature requests, bug reports, upvotes, nested comments, comment likes, full-text search, and duplicate suggestions. It ships as two packages: a headless core with typed React hooks and a separate optional UI layer supporting both React DOM and React Native. Authentication and permissions are resolved in the host app, keeping the component decoupled from any specific auth strategy.
Use cases
From the upstream package documentation.
- Adding a feedback board to a SaaS product where users can submit feature requests, upvote existing ones, and discuss them through nested comments
- Building a bug report workflow inside a React Native or Expo app without writing backend schema, queries, or mutations from scratch
- Integrating full-text search and duplicate suggestion logic into a feedback UI so users see related items before submitting
- Dropping in a pre-built FeedbackScreen component that connects to an existing Convex backend through generated hooks, skipping custom UI work entirely
- Implementing a feedback system with custom authentication by exposing the component API through host app functions that handle session and permission checks
How it works
From the upstream package documentation.
The headless package registers itself as a Convex component via app.use(feedback) in convex/convex.config.ts. This provisions the component's schema, queries, mutations, and full-text search indexes inside an isolated namespace within the host Convex deployment. The host app then exposes a feedback API layer where it can inject authentication context and enforce permissions before delegating to the component's internal functions.
Typed React hooks are generated from the host API surface, giving the client type-safe access to operations like submitting feedback, toggling upvotes, posting nested comments, liking comments, and running full-text searches with duplicate detection. These hooks are passed into the optional UI layer rather than being hardcoded, which allows the UI to remain decoupled from any specific auth or routing setup.
The optional convex-feedback-ui package accepts the hook bundle as a prop and renders a complete FeedbackScreen for React DOM (with a CSS import) or React Native via a separate entry point at convex-feedback-ui/native. This separation means teams can adopt the headless core with a fully custom UI, or accelerate development by using the provided screens with theming, localization, and compound primitives documented in the UI package.
Upstream package FAQ
What does convex-feedback install and how does it connect to my Convex backend?
convex-feedback is a Convex component registered in your convex/convex.config.ts file using app.use(feedback). It adds its own tables and functions to your Convex deployment. You then expose a host-side API from your own Convex functions so authentication and permission checks run in your app's context rather than inside the component.
Do I need convex-feedback-ui or can I use the headless component alone?
convex-feedback is fully headless and usable without convex-feedback-ui. It exposes typed React hooks for all operations including feedback submission, upvoting, nested comments, comment likes, and full-text search. convex-feedback-ui is an optional second package that provides a prebuilt FeedbackScreen for React DOM and React Native.
Does convex-feedback support React Native?
Yes. The convex-feedback-ui package exports a React Native version of FeedbackScreen from convex-feedback-ui/native. The headless convex-feedback hooks work in any JavaScript environment that supports Convex, including Expo projects.
What features are included in convex-feedback out of the box?
convex-feedback includes product feedback submission, feature request tracking, bug report categorization, upvotes, nested comments, comment likes, full-text search, and duplicate suggestions. All of these are backed by Convex queries and mutations with TypeScript types.
How is authentication handled in convex-feedback?
Authentication and permissions are resolved in your host Convex app, not inside the component itself. You expose the feedback API through your own Convex functions, which lets you apply your existing auth logic using Convex's standard identity and session patterns before delegating to the component's internal functions.
Use with agents and CLI
Give your coding agent the component’s source identity and setup guidance.
Help me integrate Feedback with Bijection.
Read: https://bijection.com/components/feedback/SKILL.md
Check SDK compatibility and dependency availability.
Follow this project's execution and verification rules.Upstream README.md
View repository ↗Documentation from Moumen-io/convex-feedback, recorded October 23, 2026. APIs and setup may differ in the Bijection adaptation.
| Package | Version | Convex | License | Downloads |
|---|---|---|---|---|
| convex-feedback | ||||
| convex-feedback-ui |
GitHub forks GitHub Repo stars
Vite demo • Expo demo • React Native demo
Convex Feedback
A type-safe Convex component for product feedback, feature requests, bug reports, upvotes, nested comments, comment likes, full-text search, and duplicate suggestions and an optional React and React Native UI.
Quick Start
Headless Convex component
npm install convex-feedback
Add the component to your existing Convex app:
// convex/convex.config.ts
import { defineApp } from "convex/server";
import feedback from "convex-feedback/convex.config.js";
const app = defineApp();
app.use(feedback);
export default app;
Then expose the feedback API from your host Convex app so you can resolve authentication and permissions there.
See convex-feedback for the complete integration guide, configuration, API, hooks, authentication, search, comments, and testing.
React or React Native UI
| Expo | React Native |
|---|---|
![]() | ![]() |
npm install convex-feedback convex-feedback-ui
// React DOM
import { FeedbackScreen } from "convex-feedback-ui";
import "convex-feedback-ui/styles.css";
<FeedbackScreen hooks={feedbackHooks} />;
// React Native
import { FeedbackScreen } from "convex-feedback-ui/native";
<FeedbackScreen hooks={feedbackHooks} />;
convex-feedback-ui requires convex-feedback and its generated host API/hooks to already be integrated.
See convex-feedback-ui for web/native setup, theming, localization, compound primitives, and custom component rendering.
Packages
| Package | Purpose |
|---|---|
| convex-feedback | Headless Convex component and typed React hooks |
| convex-feedback-ui | Optional React DOM and React Native UI |
The repository also contains a shared example backend and deployable web/native demos under packages/example-*.
Reporting bugs and issues
Use the repository's GitHub Issues tab for bugs, regressions, documentation problems, and feature requests for this project.
When reporting a bug, include:
- the affected package (
convex-feedbackorconvex-feedback-ui); - package version;
- Convex version;
- React / React Native / Expo version when relevant;
- a minimal reproduction or the smallest relevant code sample;
- expected behavior and actual behavior.
Do not use the feedback board inside the demo applications to report repository bugs. The demos exist to exercise the packages; repository issues should be reported through GitHub.
Repository development
npm install
npm run codegen
npm run test:all
See the individual package READMEs for package-specific development and integration details.
License
Apache-2.0

