Overview
A map of the real screens, services, and release tooling in the kit.
The starter is a working AI nutrition-coach demo named Vela. It is meant to be reshaped into your product, not shipped with example names and claims.
The product users can explore today
| Area | Included behavior |
|---|---|
| Onboarding | Four steps, progress, back/skip, goal choice, push primer, tracking explanation |
| Authentication | Email OTP, Apple, Google, review demo, biometric re-entry, sign-out, deletion |
| Main app | Today, Scan, Coach, and Profile tabs; Activity lives under Today |
| Today | Dashboard, calorie ring, macros, week chart, meals, loading/empty/error states |
| Scan | Camera/library choice, demo analysis, editable meal and macros, confirm flow |
| Coach | Suggestions, streaming response UI, stop, history, text and voice composer |
| Monetization | Hard, soft, and promotional paywalls; monthly/annual; restore and manage |
| Retention | Notification inbox, push permission flow, deep links, review prompt, offline banner |
| Preferences | English/Spanish, light/dark/system, reduced motion, settings and privacy controls |
The production path already in the repository
The app does not ask routes or components to talk directly to vendors. It uses small provider-neutral contracts. Each contract has a mock implementation and, where included, a production implementation.
| Need | Included production path |
|---|---|
| Identity, data, uploads | Supabase Auth, Postgres, private Storage, RLS, Edge Functions |
| Purchases | RevenueCat offerings, purchase, restore, entitlement listener, webhook mirror |
| AI | Authenticated streaming chat, private photo analysis, voice transcription |
| Notifications | Expo Push token lifecycle, inbox, ticket storage, receipt checks |
| Analytics | Typed, privacy-minimized PostHog adapter with opt-out |
| Errors | Lazy Sentry adapter with payload scrubbing and source maps |
What is intentionally not included
There is no multi-tenant organization system, general-purpose custom API, ads, widget/watch/live-activity suite, second web product, or full offline sync engine. Add those only if your product needs them.
Your practical order of work
- Run and explore the mock product.
- Rebrand the name, promise, screens, fixtures, tokens, icon, and legal copy.
- Remove flows your product does not need.
- Activate Supabase and account deletion.
- Activate only the remaining providers you will ship.
- Test real native behavior on iOS and Android.
- Create store assets, complete the release evidence, then submit.