← Back to Blog

React Feedback Widget in 2026: Best Options for Your App

Tom Reilly··10 min read
reactfeedback-widgetfeature-requestsdeveloper-toolscomparisonsindie-saasnextjsnpm
React feedback widget comparison showing pick a feature, UserJot, and PushFeedback options

Search "React feedback widget" and the first page gives you a confusing mix: Sentry's crash-report docs, a GitHub repo someone built as a side project, and Happy React, which shut down on July 31, 2026. If you just want to add a feature-request voting board to your React or Next.js app, the SERP offers almost nothing useful.

The gap matters because the term covers at least three different product categories. Picking the wrong type wastes setup time and gives you data you can't use. This guide covers 4 React feedback widgets in 2026, sorted by what each one is actually built to do.

A React feedback widget is a UI component that collects input from your app's users. Three categories exist: feature-request voting boards (pick a feature, UserJot), general feedback and satisfaction forms (PushFeedback), and crash-linked error capture (Sentry). Most indie devs building React apps want the first type: a voting board where users suggest and upvote ideas.

What "React feedback widget" actually means

Searching this term produces results across three distinct product categories that share almost no overlap.

Feature-request voting boards collect ideas and surface priorities. A user submits "dark mode," others vote on it, and your dashboard shows you what the highest-demand next feature actually is. pick a feature and UserJot both fit this category.

General feedback widgets capture satisfaction, reactions, or page-specific ratings. PushFeedback gives users a thumbs-up/down with an optional screenshot, and routes those to your dashboard or a tool like Jira or Slack. Users aren't voting on anything; they're rating an experience.

Crash-linked feedback, Sentry's model, fires when an error occurs. A modal prompts the user to describe what they were doing, and that message gets attached to the specific exception in your error log alongside up to 30 seconds of session replay. Useful for bug triaging, not roadmap planning.

React is used by roughly 40% of JavaScript developers according to the 2024 Stack Overflow developer survey, making it the most common framework in the indie SaaS audience most likely to need a feedback widget. The options split cleanly by use case and price. Feature-request voting tools like pick a feature ($0-$15/mo) and UserJot (free tier, unlimited users) are built around a shared idea board: users submit requests, vote on existing ones, and watch statuses move from "pending" through "in progress" to "completed." General feedback tools like PushFeedback start at $0 (1 website, first 25 entries emailed, then monthly summary) and charge $24/mo for Jira, Slack, Teams, Asana, and Linear integrations plus full analytics. Error-capture tools like Sentry include user feedback across all plans, bundled with crash grouping and session replay. For a solo dev or bootstrapped team focused on building what users actually want, a feature-request voting board is the right starting point: it replaces a spreadsheet, a Notion page, or a shared inbox with a structured queue your users can see and influence directly.

Best React feedback widget for feature-request voting

These two tools are the right choice if your goal is collecting and prioritizing user ideas.

pick a feature

pick a feature ships an npm package (npm i pickafeature, v0.1.1, published September 2026) that works in any JavaScript environment including React and Next.js. The package ships ESM, CommonJS, and TypeScript types, so no additional @types/ package is needed.

Initialize it once at app startup:

import PickAFeature from 'pickafeature'
PickAFeature.init({ apiKey: 'your-api-key' })

A floating "Feedback" button appears bottom-right automatically. Users can submit feature requests, vote on existing ones (one vote per device), and leave comments. The widget renders inside a Shadow DOM, so it won't interfere with your app's CSS.

To attach logged-in users for per-user analytics, call identify after authentication:

PickAFeature.identify({ email: user.email, name: user.displayName })

Your dashboard gets a Kanban view, moderation tools (approve, reject, merge duplicates), and per-platform analytics showing iOS, Android, web, and macOS breakdowns. The status workflow runs: pending, under review, approved, in progress, planned, completed.

Pricing: Free (1 project, 10 requests, no credit card), $5/mo Starter (3 projects, unlimited requests, user comments), $15/mo Unlimited (unlimited projects and requests, advanced analytics). There's no Slack integration, no SSO, and the free tier caps at 10 requests, but $5/month is hard to argue against for a side project.

Prefer the script tag approach instead? Drop this into your index.html or Next.js _document.js:

<script
  src="https://pickafeature.com/sdk/v1/pickafeature.js"
  data-api-key="your-key"
  defer
></script>

The same board works either way, and web and mobile votes combine into one count.

UserJot

UserJot takes a script tag approach: paste two lines into your React app's index.html or your Next.js root layout via next/script. No npm install needed. Users get a voting board with roadmap visibility showing planned and in-progress requests, plus a changelog.

Call uj.identify() to attach your signed-in user. uj.open() triggers the widget from any button. Smart composition auto-generates request titles from descriptions and surfaces potential duplicates before submission.

Pricing: The perpetual free tier includes unlimited users and unlimited posts. Removing "Powered by UserJot" branding requires the paid Professional plan. UserJot is the right pick if you want a free-forever option with roadmap and changelog features built in.

For a deeper look at embedding options including inline board embeds and hosted board links, see How to Embed a Feedback Board on Your Website.

Best React feedback widget for general feedback

PushFeedback

PushFeedback publishes an official npm package (npm install pushfeedback-react) maintained specifically for React apps. Four widget types ship out of the box: a floating button, an inline button, an embedded form, and like/dislike buttons for "was this helpful?" flows. Each collects text, star ratings, or thumbs-up/down, with screenshots available on paid plans.

This is the right tool when you want to rate specific pages or flows, not collect and rank user ideas. It's common in documentation sites, onboarding sequences, and post-feature-launch surveys.

Pricing: Free ($0/mo, 1 website, 1 seat, unlimited submissions; first 25 entries emailed individually, then a monthly summary). Professional ($24/mo, filters and analytics, Jira + Slack + Teams + Asana + Linear integrations, ongoing screenshot access). Unlimited ($59/mo, unlimited websites and seats, AI-generated reports, priority support).

PushFeedback is the better fit over pick a feature if your primary question is "did users like this page?" rather than "what should I build next?"

React crash feedback: when Sentry makes sense

Sentry's User Feedback widget (documented at docs.sentry.io for the React SDK) captures user context alongside error events. When a crash fires, an optional modal prompts the user to describe what they were doing. That message attaches to the specific exception in your Sentry dashboard, alongside up to 30 seconds of session replay. All plans include 1GB of attachment storage, covering roughly 2,500 screenshots.

This fits one scenario: you already use Sentry for error monitoring and want users to explain what happened when something breaks.

What it won't do: run a voting board, collect feature ideas, or surface roadmap priorities. The use cases don't overlap with pick a feature or UserJot. If your React app needs both bug tracking and feature-request voting, use Sentry for errors and pick a feature for roadmap input. They work side by side without conflict.

How to add a React feedback widget in 5 minutes

Here's the full setup for pick a feature using the npm approach.

1. Install the package

npm install pickafeature

2. Initialize at app startup

Add the init call outside your component function so it runs once when the app loads:

import PickAFeature from 'pickafeature'

PickAFeature.init({ apiKey: 'your-api-key' })

function App() {
  // your app code
}

3. Identify signed-in users (optional but recommended)

After your authentication logic resolves, call identify:

PickAFeature.identify({
  email: user.email,
  name: user.displayName,
  customId: user.id
})

This gives you per-user vote counts and lets you see who's submitting what in the dashboard.

4. Open from a custom button (optional)

The floating launcher appears by default. To trigger the widget from your own UI element instead:

<button onClick={() => PickAFeature.open()}>
  Feature requests
</button>

That's the full setup. No backend required: feature requests go straight into your pick a feature dashboard, where you can approve, reject, merge duplicates, or move them through the status workflow.

For more integration options including the hosted board URL approach (useful for React Native), see Feature Request Widget for Your Website.

Which React feedback widget do you need?

Use this as a quick decision guide:

  • Feature-request voting, $5/mo or less: pick a feature (npm + script tag, Flutter + React + any web framework)
  • Feature-request voting, free forever: UserJot (script tag, roadmap and changelog included; branding on free tier)
  • Page ratings and general feedback, npm package: PushFeedback ($0 free, $24/mo for integrations and analytics)
  • Crash-linked bug context, already on Sentry: Sentry User Feedback (bundled with error monitoring across all plans)

The right choice depends on the question you're trying to answer. Feature-request voting tells you what to build. General feedback tells you how what you've built is landing. Crash feedback tells you what broke. All three are useful; most teams start with just one.

Frequently Asked Questions

Does pick a feature's React widget support TypeScript?

Yes. The npm package (npm i pickafeature) ships with TypeScript types included. No separate @types/pickafeature package is needed.

Can I use a React feedback widget without setting up a backend?

Yes. pick a feature, UserJot, and PushFeedback all provide managed backends. You install the widget and they handle storage, votes, notifications, and moderation. Building your own feedback system from scratch takes roughly 80-120 development hours to reach parity with a managed solution.

Does Happy React still work?

No. Happy React shut down on July 31, 2026. Their site displays a farewell notice. The closest current alternatives are pick a feature (feature-request voting) or PushFeedback (reaction-style feedback and page ratings).

What's the difference between a feedback widget and a feature-request board?

A feedback widget is the UI component users see (floating button, embedded form). A feature-request board is the backend that stores submissions with voting, statuses, and moderation. Most modern tools bundle both surfaces. See Feedback Widget vs Feedback Board for a full breakdown.

Do any of these React widgets work in React Native?

Not natively. For React Native apps, the recommended approach is opening pick a feature's hosted board URL in expo-web-browser. That gives React Native users a full voting board without a native SDK. See React Native Feature Request Board for a full walkthrough.


If you want to know what your React app's users actually want built next, add pick a feature. The npm package installs in under 10 minutes, the free tier holds your first 10 feature requests at no cost, and the Starter plan is $5/month flat. Your users get a place to submit and vote on ideas. You get a ranked backlog instead of a scattered inbox.