Pick your stack

Every module for your Expo SDK 57 app

One option per category. Setup keeps what you pick and deletes the rest, so the app you ship only has code you chose.

UI

Guides: Unistyles 3 with Expo: a working setup · Tamagui in Expo: setup, styling and themes

Data

  • TanStack Query - server state + cache · Expo Go OK
  • Apollo Client - GraphQL client + normalized cache · Expo Go OK
  • SWR - stale-while-revalidate hooks · Expo Go OK

Guides: TanStack Query in Expo: offline and refetch

State

  • Zustand - tiny stores, persisted on the storage adapter · Expo Go OK
  • Jotai - atomic state, persisted on the storage adapter · Expo Go OK

Guides: Expo zustand: persist a store across restarts

Storage

  • expo-sqlite/kv-store - sync + async key/value on SQLite · Expo Go OK
  • MMKV - fastest sync key/value (Nitro) · dev build required (no Expo Go)
  • AsyncStorage - async-only key/value, the community standard · Expo Go OK

Guides: AsyncStorage vs MMKV vs expo-sqlite/kv-store

Forms

i18n

  • i18next - react-i18next + expo-localization, 6 languages bundled incl. Arabic (RTL) · Expo Go OK
  • Lingui - @lingui/core + @lingui/react runtime API, 6 languages bundled incl. Arabic (RTL) · Expo Go OK

Guides: Expo i18n: i18next or Lingui, compared

AuthPro

  • Supabase Auth - email+password, Apple (native), Google (OAuth) · session on the storage adapter · Expo Go OK
  • Clerk - email+code verification, Apple (native), Google (SSO) · @clerk/expo · Expo Go OK for JS flows
  • Better Auth - self-hosted on the API routes · email/password + Apple/Google · Expo Go OK

Guides: Supabase auth in Expo: email, Apple and Google · Expo auth: Clerk vs Supabase vs Better Auth

PaymentsPro

  • RevenueCat - in-app subscriptions + paywall · dev build required (no Expo Go)
  • Adapty - in-app subscriptions + Paywall Builder · dev build required (no Expo Go)
  • Stripe Checkout - web checkout via API routes (no native SDK) · Expo Go OK

Guides: RevenueCat subscriptions in an Expo Router app · Best paywall tools for Expo in 2026

AnalyticsPro

  • PostHog - product analytics + feature flags (analytics.isFeatureEnabled / useFeatureFlag) · Expo Go OK
  • Amplitude - product analytics · Expo Go OK (JS SDK, storage adapter)

Crash reportingPro

  • Sentry - JS + native crash reporting · Expo Go OK (JS errors only)

PushPro

  • Expo Notifications - Expo push service + local notifications · dev build required for remote push (Expo Go: local only)

Guides: Expo push notifications: setup, token, testing

BackendPro

Onboarding

Location

  • Expo Location - foreground position + reverse geocoding, permission states handled · Expo Go OK

Widgets

  • Expo Widgets - iOS home-screen widget + Live Activity (Lock Screen, Dynamic Island) in SwiftUI (@expo/ui), fed from the app · dev build required (no Expo Go)

Guides: Expo widgets on iOS: a working setup

Privacy consent

  • Consent sheet (GDPR / CCPA) - asks before analytics + crash start (EU/EEA, UK, Switzerland, Canada, Brazil or everywhere); Settings toggles · Expo Go OK

Testing

Guides: jest-expo setup, Expo Router tests and fixes