Back to Blog Home

Want to hear your users' complaints? There's a widget for that (now available on mobile)

Steve Zegalia image

Steve Zegalia -

Want to hear your users' complaints? There's a widget for that (now available on mobile)

A disappearing “Submit” button. A modal stuck half-offscreen. It's not a crash or a performance regression. Just broken UX. Frustrating enough to make users rage-quit or leave a 1-star review.

Error and performance monitoring catch the technical stuff: crashes, bottlenecks, slow APIs. But they won’t tell you when a layout breaks, or a UI flow subtly unravels after a redesign.

With User Feedback, now available for React Native, Flutter, iOS, Android, and Unity, your users get a direct line to your team the moment something feels off in your mobile app—so you can fix UX issues with real context (like linked errors, device type, OS, application state, and session replays), not guesswork. We even used it ourselves while launching Sentry’s Performance workflows. Our engineering team is using the widget today to collect feedback from users on our AI debugger Seer (like support for more repositories besides GitHub):

—and yeah, sometimes we just use it to generally bask in the love

How does it work?

User Feedback is a persistent widget that you can add anywhere in your mobile app. You can customize the style and text of the widget and control how it surfaces: automatically after an unhandled error, manually after clicking a ‘give feedback’ button, or permanently on screens where you anticipate more feedback, like a new part of your application (refer to the ‘Bring Your Own Widget’ section in the setup instructions for more on this).

It’s designed to give users an easy way to share what’s going wrong, right at the moment it happens. The widget can include fields for information like: 

  • A description from the user about what’s going wrong so you can get point-in-time feedback in your users’ own words

  • Screenshots so you can see what the user saw when they encountered an issue (coming soon for Android)

  • User email to easily follow up when needed. You can configure the widget to collect this information automatically, without the need to request it.

You’ll get alerted to new user feedback submissions if you have Sentry’s default issue alert turned on; if you don’t, you can create a new alert rule for your feedback submissions (you can also configure alert rules to see feedback directly in Slack). Sentry automatically detects submissions that are likely spam and puts them in a ‘Spam’ folder (and you won’t receive alerts for submissions marked as spam).

All user submissions are visible in Sentry’s UI via Issues>User Feedback, where you can quickly filter feedback based on keys like device.brand and os.name

That means when you launch a new screen in your new trading card reselling mobile app—like a redesigned card search dashboard—you can start collecting early feedback right away, right where issues are most likely to appear. You place the feedback widget on the new screen, style it to match your app, and label it simply: “Report Issues.”

A few hours after launch, a user runs into trouble. They try to sort cards by set, but tapping the dropdown doesn’t do anything. Instead of abandoning the app—or venting on social media—they use the conveniently placed widget and submit: “Trying to sort by card set on the new card search dashboard, but dropdown doesn’t work when I tap.”

Because you’ve set up a custom alert rule, their feedback shows up in your team’s Slack channel within seconds. You click the alert and land in the User Feedback Details view in Sentry.

Right away, you see critical context like linked errors, tags, and relevant contexts: the user’s on an iPhone 13 Pro, running iOS 17.3.1, using version 3.2.1 of your app. No need to track them down for more information—everything you need is already there.

Even better, Session Replay for mobile is enabled. You watch exactly what the user did—navigating to the dashboard, scrolling through cards, and tapping the dropdown several times with no response. (Soon, expanded replays for React Native and Flutter will show even more of the lead-up to issues like this.)

To investigate further, you click into the linked trace. It reveals a call to getSortOptions() that failed silently due to an undefined variable. While no error was shown to the user, a breadcrumb indicates the app tried to fetch sorting metadata from the backend, which came back without the expected cardSet array. Now you have the complete picture—what the user did, what their environment was, and what broke in the code.

With just a few clicks, you link the feedback to a GitHub issue, tag your frontend and API leads, and email the user (whose contact info was automatically collected) to let them know you’re on it. A quick patch later, the issue is fixed—and the feedback loop is closed.

Getting Started

You’ll find installation instructions in our docs for iOS, Android, Flutter, Unity and React Native (or check out this video on general tips for the widget). You can also drop us a line on GitHub, Twitter, or Discord if you have any feedback. And if you’re new to Sentry, you can try it for free today or request a demo to get started (or learn more about how Sentry helps mobile developers here).

Share

Share on Twitter
Share on Bluesky
Share on HackerNews
Share on LinkedIn

Published

Sentry Sign Up CTA

Code breaks, fix it faster

Sign up for Sentry and monitor your application in minutes.

Try Sentry Free

Topics

Mobile
How Anthropic solved scaling log volume with Sentry

How Anthropic solved scaling log volume with Sentry

Listen to the Syntax Podcast

Of course we sponsor a developer podcast. Check it out on your favorite listening platform.

Listen To Syntax

Company

© 2025 • Sentry is a registered Trademark of Functional Software, Inc.