IntroductionPrerequisites

Required tools

You need the following installed on your machine to build your app.

1. Node.js

πŸ’‘ Node.js is a JavaScript runtime that allows you to run JavaScript on your computer or server outside of a web browser.

  • Download the installer from nodejs.org (LTS recommended) and run it.
  • Follow the installer steps
  • Check installation:

bash

2. Git

πŸ’‘ Git is a version control system used to track changes in code and collaborate safely with others.

  • Download the installer from git-scm.com and run it.
  • During installation, keep the default options (they are suitable for most users).
  • Check installation:

bash

3. Cursor

πŸ’‘ Cursor is an AI-powered code editor that helps you write, understand, and refactor code faster directly from your codebase.

  • Download the installer from cursor.com and run it.
  • Create an account.

Mobile environment

You have two options to run the app.

Option A β€” Real device (recommended)

This is the fastest way to preview your app.

Option B β€” Simulator / Emulator

iOS

  • macOS only
  • Install Xcode
  • Make sure iOS Simulator is available
  • For more information check the expo documentation

Android

  • Install Android Studio
  • Create and run an Android emulator
  • For more information check the expo documentation

Store accounts (only for submission)

You don’t need these immediately, but you will need them to release your app on the stores:

  • Apple Developer account
  • Google Play Developer account

Optional accounts (only if you enable the feature)

All SDKs are already wired. You only need these when you want the functionality:

  • Supabase (database + auth)
  • RevenueCat and/or Superwall (monetization)
  • Amplitude and/or PostHog (analytics)
  • Sentry (error tracking)
  • OpenAI (AI features)

Environment variables rule (important)

  • Rename .env.example in .env.
  • Add keys only for the SDKs you want.
  • Missing key = feature stays off.

This is the default workflow: ship a minimal app first, then progressively enable services.