Mobile
Five.Community
Enterprise retail community app — React Native
- Role
- Mobile & front-end author
- Period
- 2021 – 2022
- Commits
- 1,200+ across two RN codebases
Overview
Five — a community platform delivered for Walmart as an enterprise retail engagement, spanning ~20 repositories. I authored both generations of the mobile app: the original React Native codebase (MobX-State-Tree, Ignite boilerplate, Mapbox) and its rewrite (Firebase suite, Sentry, react-navigation v6, Detox e2e), shipping to both stores including an Android tvOS-style build.
The wider platform — backend core, react-admin panel, ML crawlers, infra POCs — was the team’s; my verified commits live in the app codebases, integrating with the enterprise APIs.
- react-native-five-appthe rewrite — 880 local / 363 gitlab commits
- FiveFE/Five (five)original RN codebase — 339 commits
- five-android-apkrelease packaging
Tech stack
App
- React Native
- MobX-State-Tree
- react-navigation
- react-hook-form
Services
- Firebase (analytics · push · crashlytics)
- Sentry
- apisauce
Quality
- Detox e2e
- Storybook
- ESLint airbnb
Repository structure
The real Ignite-pattern layout of the rewrite:
app/ ├─ screens/ feature screens ├─ components/ shared UI ├─ navigators/ react-navigation stacks/tabs ├─ models/ MobX-State-Tree stores ├─ services/ apisauce API layer ├─ theme/ · utils/ · i18n/ storybook/ component workbench e2e/ · test/ Detox + Jest android/ · ios/ native projects
Design patterns
MST unidirectional state
MobX-State-Tree models own all app state; screens observe — no ad-hoc setState forests.
Ignite service layer
apisauce wraps the API with typed problem codes; screens never touch fetch directly.
Crash-first observability
Sentry + Firebase Crashlytics/Analytics/Performance wired from day one.