← All articles

Shake to report bugs in React Native & Expo

“Shake to report” is the simplest bug-capture pattern in mobile: a tester hits a bug, shakes the phone, and the app grabs everything you'd otherwise have to ask for. This guide covers what gets captured, how to add it to an Expo or React Native app, and what happens to a report after it's sent.

Why the shake gesture beats a feedback form

Most bug feedback dies in a group chat: “the save button is broken” with no screenshot, no screen name, no build number. By the time you ask the follow-up questions, the tester has moved on. The shake gesture removes every step between “I hit a bug” and a complete report.

What Speedydebug captures on a shake

  • Screenshot of the exact screen the tester was looking at.
  • Route & previous route — so you know where in the app it happened and how they got there.
  • Build, device, OS, orientation — the context that usually takes three back-and-forth messages to pin down.
  • The tester's description — one sentence, typed in place without leaving the app.

Setting it up (the one-prompt path)

The fastest way to add shake-to-report is to let your coding agent do it. After you create a project, tell your agent: “install Speedydebug in my Expo app.” It will:

  • pull your project key,
  • install the SDK (@speedydebug/expo-plugin),
  • and wire your root layout so the shake listener is active.

That's the whole setup — no copy-paste config block, no native bridging to hand-edit. (If you'd rather not use an agent, the SDK is open-source and documented.)

What happens after a tester shakes

The report shows up two places. First, in your dashboard feed — a dense, reviewable list of every open and fixed report. Second, and more importantly, it's available to your coding agent over MCP as a structured bundle. That means you can tell Claude Code or Cursor to fix the whole list with the screenshot and route already in context — no manual triage.

Tips for clean tester feedback

  • Tell testers to shake on the broken screen — the screenshot is most useful captured in the moment.
  • Ask for one concrete sentence (“save does nothing after I finish a set”) rather than “it's broken.”
  • Remind testers not to put passwords or payment details in descriptions or on captured screens.

Get started

Add shake-to-report to your app and see your first bundle land in your agent. Speedydebug is free for your first 10 reports per app — get started free → Comparing options first? See how it stacks up as an Instabug alternative.

Frequently asked questions

What does the shake gesture capture?

When a tester shakes the device, Speedydebug captures the current screenshot, the app route and previous route, the build, the device model, OS, and orientation — plus a short description the tester types. No forms, no account needed for the tester.

Do testers need an account to report a bug?

No. Testers just shake and send. Accounts and the free-report limit apply to you (the developer) reading reports — never to a tester's ability to submit them.

Does shake-to-report work in a TestFlight or internal build?

Yes — it's designed for beta and internal builds where you're collecting feedback from testers before release.

Put your testers' bugs where your agent can fix them.

Get started free →

Keep reading