Client work · via Camel Case Labs
BOUTLOOK
Rebuilt a combat sports organization's mobile app from scratch and shipped it to the App Store and Google Play.
liveMay 2026 – Present
My roleSole mobile engineer
- app stores: App Store and Google Play
- 2
- app stores: App Store and Google Play
- screens rebuilt across 6 feature areas
- 11
- screens rebuilt across 6 feature areas
- engineer on the mobile app
- Solo
- engineer on the mobile app
01The problem
BOUTLOOK runs combat sports events, and its officials and staff work from their phones: checking events, setting availability, and finding each other in the directory. The mobile app needed a full rebuild, and it had to work against the live system the organization runs on.
02What I built
- A ground-up rebuild in React Native and Expo: events, availability, a staff directory, documents, and profiles
- Sign-in with biometric unlock and secure token storage, plus a working password reset
- Push notifications end to end: EAS build configuration, Firebase delivery on Android, opening the right screen when someone taps a notification, and a clear path back when notifications are blocked
- Separate mock, QA, and staging modes, so every feature could be tested without touching live data
- QA-only diagnostics that show a device's push token, for debugging delivery on real phones
03Key decisions
Show blocked notifications instead of failing silently
- Why
- If someone has turned notifications off, pushes simply never arrive, and nobody knows why.
- Result
- The events screen tells users when notifications are blocked and how to turn them back on.
Mock, QA, and staging modes from the start
- Why
- Testing against the live system risks real event and staff data.
- Result
- Features were checked against mock and QA data before they reached staff.
Small releases driven by real use
- Why
- Staff found problems using the app day to day, like unmarked days showing as unavailable and a button that was too easy to tap by accident.
- Result
- Steady releases through v1.1.1, each fixing what staff actually ran into.
04Results
- Live on the App Store and Google Play
- The organization's staff run their day-to-day work on it
- Push notifications delivered on iOS and Android, with recovery when they're blocked
05What I learned
- Push notifications have more ways to fail silently than to work: permissions, build configuration, and device tokens all have to line up.
- Real users find different problems than testers do. The most useful fixes came from watching how staff actually used the app.
06Stack
- React Native
- Expo
- TypeScript
- TanStack Query
- Zustand
- Firebase Cloud Messaging
- EAS
want the longer version?
I'm happy to walk through how I built it.