---
name: bijection-feedback
description: "Evaluate and integrate the Feedback component with Bijection."
---

# 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.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes convex-feedback. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


> Agents: read this skill fully before writing code that uses Feedback. Follow the installation and configuration steps exactly.

# Feedback

## Instructions

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.

### Installation

```bash
npm install convex-feedback
```

Current npm version: `convex-feedback@0.2.0`

## 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.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by Feedback is not needed

## Resources

- [npm package](https://www.npmjs.com/package/convex-feedback)
- [GitHub repository](https://github.com/Moumen-io/convex-feedback)
- [Live demo](https://convex-feedback-vite.vercel.app)
- [Convex Components Directory](https://www.convex.dev/components/convex-feedback)
- [Convex documentation](https://docs.convex.dev)