IntroductionAbout 8-Hour App

8-Hour App is an Expo boilerplate designed to ship production-ready apps as fast as possible.

What you get out of the box

1) A fast path from idea → first release

  • Pre-built screens and features you can remix instead of rewriting everything.
  • A structure that keeps “personalization” in config files and “infrastructure” in shared libs.

2) SDKs already wired (opt-in via env keys)

All third-party services are integrated but disabled by default.
If a key is missing in .env, that SDK should stay inactive.

You can ship a fully local/offline app first, then progressively enable:

  • Analytics (Amplitude + PostHog)
  • Monetization (Superwall + RevenueCat)
  • Error tracking (Sentry)
  • Backend (Supabase)
  • AI features (OpenAI)

3) Tamagui UI foundation

  • UI is built with Tamagui so you can move fast with consistent design tokens.
  • Prefer shared UI components over one-off styles (keeps vibe-coding clean).

4) Pre-built features you can keep or delete

You can ship immediately using included modules such as:

  • Tasks manager
  • AI chat
  • AI image analyzer
  • Content explorer
  • Profile
  • Settings

5) Config-driven onboarding

Onboarding is not hardcoded. You configure it in:

  • src/shared/config/onboarding.config.ts

This lets you iterate quickly (copy/paste steps, reorder, A/B, add conditions) without touching the onboarding engine.

What “vibe coding” means here (practically)

When you want a new screen/feature:

  • Reuse existing screens/components as a template.
  • Keep feature-specific code in src/features/<feature>/...
  • Keep reusable code in src/shared/...
  • Prefer config files for “what changes per app” (copy, flow, toggles).