IntroductionStack overview
8-Hour App is built on a simple stack: Expo + TypeScript + Tamagui + config-driven features.
Most third-party SDKs are already integrated but only activate when you provide the matching .env keys. That means you can ship an MVP without touching analytics, purchases, backend, or error tracking.
App runtime
- React Native + Expo for a fast dev loop and predictable builds.
- Expo Router for file-based navigation (add screens by adding files).
Language
- TypeScript (strict mode) for safer refactors as your app grows.
UI & styling
- Tamagui for design tokens + fast UI iteration with consistent styling.
- Shared UI components live in
src/shared/ui/(reuse before you rebuild).
State & local persistence
- Zustand for simple global state.
- AsyncStorage persistence for “works offline by default” experiences.
Backend (optional)
- Supabase for database + authentication. Enable it only if you need accounts, sync, or server data.
Monetization (optional)
- RevenueCat + Superwall for subscriptions / paywalls.
Wired through
use-purchase.tsxand disabled unless configured.
Analytics (optional)
- Amplitude and PostHog if enabled in your project setup for event tracking.
Wired through
use-analytics.tsxand disabled unless configured.
Error tracking (optional)
- Sentry for crash/error reporting. Disabled unless configured.
AI features (optional)
- OpenAI for AI chat / AI image analysis.
Disabled unless configured.
