Skip to content

Guide / Expo

Feedback with a screenshot in an Expo app

A comment says what a user felt, and a screenshot shows what they saw. This guide explains how Nitpick takes a screenshot in an Expo app, what the user can do with it and where it falls short, so you know what to expect before real users send reports.

When the screenshot is taken

Nothing is captured before the user opens the panel. The user chooses Point at something, taps the part of the screen they mean, and the component takes a picture of the current screen. The form shows a preview with the tap position, and the Remove image button drops the picture so that only the comment is sent.

How it works in Expo

The component calls captureScreen from react-native-view-shot, a library that is included in Expo Go. You add it with npx expo install react-native-view-shot, which picks the version that matches your SDK. The tab, the pointing layer and the panel are hidden while the picture is taken, so they are not in it.

The result is a JPEG with its longest side at most 1600 pixels. If it is larger than 1 MB, it is encoded again at lower quality until it fits.

Where view-shot falls short

The screenshot is a rendering of your React Native views, not a copy of the pixels on the display. That has consequences:

If you see a blank area on a report, check whether it was one of these views. The tap position and the element name still tell you where the user pointed.

Cover what must not be seen

Nothing is masked automatically in Expo. Wrap sensitive parts in NitpickMask, and they become a black box in the picture only, not on the screen of the user:

import { NitpickMask } from "@nitpickhq/react-native";

<NitpickMask><TextInput value={cardNumber} /></NitpickMask>

Cover payment details, personal data and password fields. The preview shows the masked picture before the user sends.

What your agent gets

Over MCP your agent gets the comment and the screenshot as an image, with the tap position and the frame of the named element drawn on it. Frames are measured in points from the top left of the window, the same space as the tap, so they line up. Name the elements with NitpickElement, for example checkout.pay-button, so the report leads to a line of code.

Where it was tested

This was checked in Expo Go on iOS. A plain React Native app without Expo modules, and a build on Android, have not been tested for this guide. Screenshots are removed 12 months after the report was made; the report itself stays.

Keep reading

New here? Read adding in-app feedback to an Expo app first. The store forms ask about the screenshot too: see Google Play Data safety for a feedback component. The whole flow with an agent is on Codex with Expo, and the install steps are in Install for Expo.

$9 a month per account. Unlimited apps.

Get started

Related

Sources