Feedback

Type-safe Convex component adding product feedback, feature requests, bug reports, upvotes, nested comments, and full-text search with optional React and React

Installation

npm install convex-feedback

About Feedback

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.

Benefits

Use cases

how to add user feedback and feature requests to a Convex app

Install convex-feedback and register it in your convex/convex.config.ts using app.use(feedback). Then expose the feedback API from your host app to handle authentication and permissions. The component provides typed React hooks for reading and writing feedback, upvotes, nested comments, and search without any additional backend setup.

prebuilt feedback UI component for React and React Native with Convex

Install both convex-feedback and convex-feedback-ui. Import FeedbackScreen from convex-feedback-ui for React DOM or from convex-feedback-ui/native for React Native, then pass your generated hooks as props. The UI layer requires the headless convex-feedback component to be integrated first.

add upvotes and nested comments to Convex feedback board

convex-feedback includes upvotes, nested comments, and comment likes as first-class features backed by Convex queries and mutations. The typed hooks expose these capabilities directly, and the optional convex-feedback-ui package renders them in a ready-made FeedbackScreen component.

full-text search and duplicate detection for feature request board Convex

convex-feedback ships with built-in full-text search and duplicate suggestion logic. When users submit new feedback, the component surfaces potentially duplicate entries, helping teams consolidate similar requests. Search is available through the typed hook API without additional configuration.

Frequently asked questions

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.

Links