Reference Apps
Use these as target shapes for future Expo work.
Tiny Smoke App
Purpose: prove the stack works before product complexity.
Required shape:
app/_layout.tsxwith oneStack.app/index.tsxhome screen.app/item/[id].tsxdynamic route.- One API mock or simple fetch module.
- One component test.
- One route test.
eas.jsonwithdevelopment,preview, andproductionprofiles.- Development build installed on at least one Android path.
Realistic Product App
Purpose: prove release readiness for a useful app.
Required shape:
- Expo Router route groups and dynamic routes.
- API layer under
src/api/. - Query hooks under
src/hooks/. - Client state under
src/stores/only for device-local state. - Reusable UI under
src/components/. - App config with package name, bundle ID, icon, splash, scheme, permissions, and plugins.
- EAS profiles for development, preview, production, and submit.
- Jest tests, route tests, and built-app smoke notes.
- OTA update strategy and rollback command.
Local Reference
_repos/peteretelej-TheOnlineKenyan/mobile-app/ is the current local realistic reference. It shows:
- Expo SDK 54 and Expo Router 6.
main: "expo-router/entry".app/route tree with tabs, dynamic routes, not-found route, and root layout.src/api/,src/hooks/,src/stores/,src/components/architecture.app.jsonwith typed routes, app identity, permissions, plugins, and New Architecture enabled.eas.jsonwith development, preview, production, and Android submit profiles.jest-expoand React Native Testing Library setup.
Treat it as a local pattern source, not as current Expo SDK authority.