Expo · AI · Monetization
Expo AI App Setup Checklist
A practical gate list for shipping a React Native Expo app with auth, theming, streaming AI chat, and a paywall — without rediscovering the same pitfalls every weekend.
No signup. Bookmark this page (or Save as PDF) and check items as you build. When you want the wired kit instead of DIY glue, the soft CTA is at the bottom.
- 01 Expo Router & auth gates
- 02 NativeWind & theme
- 03 Supabase auth
- 04 Gemini / AI chat
- 05 RevenueCat / paywall
- 06 Env vars
- 07 Demo mode
- 08 Ship checklist
1. Expo Router & auth gates
File-based routes are easy; session redirects are where apps feel broken. Lock this before polishing UI.
Trap: Putting auth logic only on the login screen. Layout-level redirects catch deep links and tab restores.
2. NativeWind & theme
Ship one palette and light/dark early so every new screen doesn’t invent hex values.
3. Supabase auth
Auth is not “a form.” It’s session persistence, error copy, and a path that works before keys exist.
Tip: Keep anon key in EXPO_PUBLIC_* only. Never ship the service role key in the mobile app.
4. Gemini / AI chat
Isolate the API client so screens stay presentational and you can swap models later.
Security note: Client-side Gemini keys are fine for demos/MVPs. For production traffic, prefer a thin backend proxy when abuse becomes real.
5. RevenueCat / IAP paywall
Store purchases need a development build — Expo Go will not exercise real IAP. Design for that from day one.
6. Environment variables
Wrong env is the #1 “it works on my machine” for Expo teams. Treat placeholders as first-class.
7. Demo mode (ship before keys)
Buyers and teammates should click around before wiring dashboards. Demo mode is a product feature.
Why this matters: Demo mode turns your repo into a live demo for sales pages and Gumroad previews — not a wall of setup instructions.
8. Ship checklist (before you call it done)
The last mile is boring. That’s why it ships late if you don’t list it.