# Feedback Type-safe Bijection component for feedback, feature requests, bug reports, voting, comments, and duplicate search. - Package: @bijectionhq/feedback - Category: Database & Backend - Status: Preview - License: Apache-2.0 - Bijection source (repository access required): https://github.com/bijectionhq/feedback/tree/4adc005e305014bba8c0c7e5bb2a5d7ea5be25e0/packages/convex-feedback - Upstream: https://github.com/Moumen-io/convex-feedback/tree/b5256538e18e99884d8fdde11474fb6f421745b1/packages/convex-feedback - Documentation: https://docs.bijection.com/components/using - Directory: https://bijection.com/components/feedback ## Get the source Bijection repository access is required. Request access at https://bijection.com/contact. ```sh git clone https://github.com/bijectionhq/feedback.git cd feedback git checkout 4adc005e305014bba8c0c7e5bb2a5d7ea5be25e0 cd packages/convex-feedback ``` ## Before using this component Read the package README at the recorded revision for setup, dependencies, and API examples. Upstream documentation describes the original package and may differ from the Bijection adaptation. This is a source candidate for evaluation. Catalog inclusion does not establish npm availability or runtime qualification. Check compatibility with your SDK and deployment before adoption. External providers run their own compute. ## Upstream package documentation Recorded 2026-10-23. This describes convex-feedback; check the Bijection adaptation separately. 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 - 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 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 README | Package | Version | Convex | License | Downloads | | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | [convex-feedback](https://www.npmjs.com/package/convex-feedback) | [![npm version](https://badge.fury.io/js/convex-feedback.svg)](https://badge.fury.io/js/convex-feedback) | [![Convex Component](https://www.convex.dev/components/badge/convex-feedback)](https://www.convex.dev/components/convex-feedback) | [![NPM License](https://img.shields.io/npm/l/convex-feedback)](https://www.npmjs.com/package/convex-feedback) | [![NPM Downloads](https://img.shields.io/npm/dm/convex-feedback)](https://www.npmjs.com/package/convex-feedback) | | [convex-feedback-ui](https://www.npmjs.com/package/convex-feedback-ui) | [![npm version](https://badge.fury.io/js/convex-feedback-ui.svg)](https://badge.fury.io/js/convex-feedback-ui) | [![Convex Component](https://www.convex.dev/components/badge/convex-feedback)](https://www.convex.dev/components/convex-feedback) | [![NPM License](https://img.shields.io/npm/l/convex-feedback-ui)](https://www.npmjs.com/package/convex-feedback-ui) | [![NPM Downloads](https://img.shields.io/npm/dm/convex-feedback-ui)](https://www.npmjs.com/package/convex-feedback-ui) | GitHub forks GitHub Repo stars [Vite demo](https://convex-feedback-vite.vercel.app/) • [Expo demo](https://convex-feedback-expo.vercel.app/) • [React Native demo](https://convex-feedback-native.vercel.app/) # 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 ```bash npm install convex-feedback ``` Add the component to your existing Convex app: ```ts // 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](./packages/convex-feedback/README.md)** for the complete integration guide, configuration, API, hooks, authentication, search, comments, and testing. ### React or React Native UI | Expo | React Native | | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | ![Expo](https://raw.githubusercontent.com/Moumen-io/convex-feedback/main/docs/screenshots/expo.png) | ![React Native](https://raw.githubusercontent.com/Moumen-io/convex-feedback/main/docs/screenshots/native.png) | ```bash npm install convex-feedback convex-feedback-ui ``` ```tsx // React DOM import { FeedbackScreen } from "convex-feedback-ui"; import "convex-feedback-ui/styles.css"; ; ``` ```tsx // React Native import { FeedbackScreen } from "convex-feedback-ui/native"; ; ``` `convex-feedback-ui` requires `convex-feedback` and its generated host API/hooks to already be integrated. See **[convex-feedback-ui](./packages/convex-feedback-ui/README.md)** for web/native setup, theming, localization, compound primitives, and custom component rendering. ## Packages | Package | Purpose | | ------------------------------------------------------------- | ----------------------------------------------- | | [convex-feedback](./packages/convex-feedback/README.md) | Headless Convex component and typed React hooks | | [convex-feedback-ui](./packages/convex-feedback-ui/README.md) | 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-feedback` or `convex-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 ```bash 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