> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchtoday.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome

> A production-ready React Native + Expo starter

## Build and Ship Faster

Launch is a production-ready React Native + Expo starter that gives you a real
app baseline with the systems you typically need before launch. It is designed
to get you building quickly without locking you into a rigid product shape.

One codebase covers **iOS**, **Android**, **iPad**, and **Android tablets**. Use
it for a consumer app, SaaS companion, or internal tool—then customize the
product layer to match your needs.

<Tip>
  **Start here:** [Project Structure](/project-structure) explains how the
  monorepo fits together, then jump to [Quickstart](/quickstart) to run the API.
</Tip>

***

## Foundations Included

Launch isn't opinionated about the product. It provides the foundations so you can move faster:

### Authentication

**Better Auth** provides the authentication layer for the app and API, with Apple Sign-In, Google Sign-In, and email OTP. Sessions persist securely via Expo SecureStore, and protected routes keep auth‑gated screens consistent.

→ [Set up authentication](/authentication/backend-setup) · [Better Auth](https://www.better-auth.com/)

### Payments and Subscriptions

Integrate **Stripe** for one‑time payments or subscriptions, **RevenueCat** for subscription management and entitlements, and **Superwall** for paywall presentation and experiments. The backend handles webhooks, receipt validation, and subscription status.

→ [Explore payment options](/payments) · [Stripe](https://stripe.com/gb) · [RevenueCat](https://www.revenuecat.com/) · [Superwall](https://superwall.com/)

### File Uploads

Upload photos, documents, or large media using **AWS S3** presigned URLs. Smaller files upload directly to S3; large files use multipart uploads; long‑running transfers run in the background with native upload support.

→ [Learn about file uploads](/file-uploads) · [AWS S3](https://aws.amazon.com/s3/)

### AI Features

Add AI chat with streaming responses via a custom backend. The API proxies OpenAI or Anthropic requests (with auth), streams responses over SSE, and keeps models and prompt handling centralized.

→ [Add AI features](/ai-features/overview)

### Push Notifications

Register devices, manage tokens, and send notifications across iOS and Android. FCM and APNs are wired in, with server routes for sending pushes and running simple campaigns (by cohort, platform, or user list).

→ [Set up push notifications](/push-notifications) · [Firebase](https://firebase.google.com/) · [Apple APNs](https://developer.apple.com/documentation/usernotifications/sending-notification-requests-to-apns)

### Onboarding and Theming

Ship a guided onboarding flow with name capture, optional phone OTP, and push permission setup. Theming includes light/dark preference storage plus a HeroUI theme layer you can swap per app style.

→ [See onboarding flow](/mobile/onboarding)

***

## How Features Plug In

Launch uses a **Feature Registry** to keep optional modules (payments, AI, uploads, Sentry, OneSignal) in one place. Each feature declares whether it is enabled, which providers it mounts, which routes it adds, and what setup or env vars it requires. The app composes enabled providers in order, so you can add or remove a feature without hunting through the codebase.

→ [Feature registry guide](/mobile/feature-registry)

***

## Stack and Integrations

Launch is fully TypeScript with end‑to‑end types from Prisma to the mobile UI.

**Stack**

* **Mobile:** React Native + Expo
* **Navigation:** Expo Router
* **UI:** HeroUI + NativeWind ([HeroUI Native](https://v3.heroui.com/docs/native/getting-started))
* **API:** tRPC
* **Database:** Prisma + PostgreSQL
* **Auth:** Better Auth
* **Monorepo:** Turborepo

**Integrations**

* **AWS S3** → [File uploads](/file-uploads)
* **Stripe** → [Stripe setup](/payments/stripe-setup)
* **RevenueCat** → [RevenueCat setup](/payments/revenuecat-setup)
* **Superwall** → [Superwall setup](/payments/superwall-setup)
* **OpenAI / Anthropic** → [AI features](/ai-features/overview)
* **Expo EAS** → [EAS deployment](/deployment/mobile-eas)
* **Firebase (FCM)** → [Push notifications](/push-notifications)
* **APNs** → [Push notifications](/push-notifications)

<CardGroup cols={2}>
  <Card title="Start Building" icon="rocket" href="/quickstart">
    Get your development environment running
  </Card>

  <Card title="Explore the Codebase" icon="folder-tree" href="/project-structure">
    Understand how everything fits together
  </Card>
</CardGroup>

***

<Note>
  **Questions?** Check [Troubleshooting](/troubleshooting) for common issues, or
  explore the docs to learn how each feature works.
</Note>
