Skip to content

Project structure

Where things live and why.

Templates share a layout, so moving between them costs you nothing. Routing is file-based through Expo Router: the directory structure under `app/` is the navigation structure.

app/                 Routes. Directory structure is the navigation.
  (tabs)/            Tab navigator group
  (auth)/            Authentication stack
  _layout.tsx        Root layout and providers
components/          Reusable UI, grouped by domain
  ui/                Primitives: Button, Input, Sheet, Card
constants/           Theme tokens, spacing, typography
hooks/               Custom hooks
lib/                 Helpers and formatters
types/               Shared TypeScript types
assets/              Fonts and icons

Where to start reading

  • `constants/theme.ts` — every colour, size and radius the app uses
  • `app/_layout.tsx` — providers, fonts and the root navigator
  • `components/ui/` — the primitives every screen is assembled from
Project structure — Documentation — Custom Theme