Skip to main content
This guide covers the minimum tooling needed to run apps/mobile and apps/api locally. This repo uses pnpm, but you can use pnpm, npm, or bun if you prefer.

Required Tools

1

Node.js 24+

Use the repo’s .nvmrc via nvm:
nvm use
node --version
If nvm prompts you to install the version, run:
nvm install 24
nvm use 24
node --version
2

pnpm

npm install -g pnpm
pnpm --version
3

Expo CLI

npm install -g @expo/cli
expo --version
4

Git

git --version
5

ngrok

Install ngrok for authentication callbacks and mobile API access:
brew install ngrok/ngrok/ngrok
6

Docker

Docker is the easiest way to run PostgreSQL locally.

Mobile Runtime Options

For day-to-day development, a local development build is the most reliable option and matches production behavior. You can run iOS and Android from the workspace using pnpm ios or pnpm android. If you prefer emulators, iOS requires Xcode and Android requires Android Studio. Expo Go is available for quick UI checks, but it does not support native modules that require custom config. If you are using a physical device, make sure it is on the same Wi‑Fi network as your computer.

Expo Go Limitations

Expo Go runs a generic client and cannot load native code added by this repo. Use a development build (and often a physical device) when you need native SDKs like:
  • RevenueCat
  • Push notifications
  • Other native SDKs with custom config plugins

Store Accounts (for release)

Releasing to the app stores requires paid developer accounts. Apple releases use App Store Connect with an Apple Developer account, and Android releases use Google Play Console with a Google Play developer account.

Next Steps

Continue to Project Setup to fork, clone, and install dependencies.