Source: https://seerepo.com/docs/expo
Markdown source: https://seerepo.com/docs/expo.md
Description: What SeeRepo reads in a React Native app with Expo Router: its screens, its layouts and its API routes.

# SeeRepo with Expo and React Native

SeeRepo recognizes a React Native app that uses **Expo Router** from the `expo-router` package in its `package.json`.

## What SeeRepo reads

- Every `.tsx` or `.jsx` file in `app/` is a **screen**, with its route (groups in parentheses and `index` don't add to the path).
- `_layout` files are the frame of their screens: a **piece** where the app starts.
- `+api` files are **actions**: your Expo API routes.
- `+html`, `+not-found` and `+native-intent` are special files of the router.
- Your components are **pieces**, inside the screen that uses them.

## An example from our test bank

`obytes/react-native-template-obytes`, an Expo Router template, read at a fixed commit:

- **8 screens**, 61 pieces and 13 inner pieces, in 82 product files
- every screen reachable without a session in the code, so they show as screens for visitors
- GitHub, found as a service with its proof

## Good to know

- SeeRepo reads apps that use Expo Router. A React Native app that navigates without Expo Router still appears on the map, but its screens aren't told apart from its pieces yet.
- If your app's backend lives in the same repo, it's read with its own framework: see [Express](/docs/express) or [Supabase](/docs/supabase).
