Expo Go and dev builds

Most designs run in Expo Go. What the badge means when one does not.

What the badge means

Every design carries an Expo Go ready badge or does not. It is not a judgement call: it is derived from the packages the design actually imports, checked against a table of which ones need native code. If a design imports something Expo Go does not bundle, the badge disappears, the detail page explains which package and why, and the prompt repeats the warning.

BadgeWhat to runWhen
Expo Go readynpx expo startAlmost every design. Scan the QR code and it runs.
No badgenpx expo run:iosThe design needs a development build compiled once on your machine.

Why most designs qualify

The libraries the designs are built on all ship inside Expo Go: Reanimated, gesture-handler, safe-area-context, svg, expo-image, the Google Fonts packages and Phosphor icons. Nothing in the house style needs a custom native module, so the common case is a scan and a run.

  • Motion is Reanimated, which is bundled.
  • Icons are Phosphor, which draws through react-native-svg, also bundled.
  • Images are remote URLs through expo-image, so there are no bundled assets to build.

Making a development build

One command, once. After it completes you keep using npx expo start as normal; only the client app on the simulator or device changes.

npx expo run:ios
# or, without Xcode locally:
npx eas build --profile development --platform ios
The badge is derived, not declared
Nobody types it. It comes from the design's real import list at build time, which means it cannot drift out of date when a design is edited.