Mobile · Ordering & loyalty
Order-ahead & loyalty app for a coffee chain
An iOS & Android app where customers order ahead, pay, pick up with a QR code and collect rewards — built on the POS SaaS above, plus a careers website.
- Role
- Mobile lead · React Native, website
- Years
- 2026
- Platforms
- iOS & Android · Website
- My share
- ~50% of commits
The challenge
The app had to feel instant and native while talking to a backend that was still evolving. Guests should browse freely and sign in only when needed — and land back exactly where they were.
How I solved it
- 01
A single adapter layer normalises every backend response, so a renamed field never touches a screen.
- 02
Screens read stores only; stores call the API — data flow stays predictable as the app grows.
- 03
Gated tabs remember the guest's place and return them there after sign-in.
- 04
An editor hook reports only new type, lint or translation errors against a recorded baseline, so quality can only go up.
- 05
A Figma-vs-simulator pixel check that compares built screens with the design.
What it does
- OTP sign-in and guest browsing
- Menus, combos, extras and recommendations
- Server-side cart with price quotes and scheduled orders
- Card and wallet payments, saved cards, resume pending payment
- Pickup QR, order history and one-tap reorder
- Points, rewards, challenges and a loyalty-card wallet
- Store locator with maps, light and dark themes
- Force update and maintenance mode via remote config
Results
- App routes
- ~43
- State stores
- 10
- Languages
- 3
- React Native version
- 0.86
- ~43 navigation routes and 10 stores on React Native's New Architecture
- Three languages with checked key parity
- Careers website with CMS vacancies and a secured application form
Stack
- React Native 0.86
- TypeScript
- Reanimated 4
- Zustand
- Next.js 16
Integrations
- Ameria
- Idram
- Firebase
- Yandex Maps
- MapKit
Details, names and visuals are generalised to respect client confidentiality. Happy to walk through the architecture in a call.
Have a product in mind?Let's build it.
Tell me about your idea, your product or your team. I usually reply within one working day.