The brief
What needed solving
Guest entry at a gym is still paper and front-desk judgement: a visitor arrives, someone writes a name down, and whether that visitor ever becomes a member is nobody's data. The app had to make entry take seconds at the door, while turning each visit into a signal the gym owner can actually act on.
Approach
How it was built
01The door is a five-second interaction
Everything about the check-in flow is shaped by where it happens: a queue at a front desk. The scanner opens straight to camera, results are unambiguous at a glance, and both the approved and rejected states are legible from arm's length without reading a paragraph.
02Verification that survives real conditions
Scanning happens under bad lighting, on cracked screens, at odd angles. Recognition was tuned for those conditions with a manual code-entry fallback always one tap away, so a failed scan never becomes a blocked entrance.
03Visits as data, not paperwork
Each check-in feeds behavioural analytics that model how likely a guest is to convert to membership, giving owners a ranked view of who to follow up with — the same action that previously produced a line on a clipboard now produces a decision.
Scope
What shipped
- QR-based guest check-in with instant approval or rejection
- Computer-vision-assisted verification at the door
- Manual code fallback when scanning is not possible
- Membership conversion probability scoring for owners
- Visit history and behavioural analytics per guest
- Location-aware gym lookup via Google Maps
Engineering notes
The hard parts
Challenge
Camera and vision work is the heaviest thing a phone can do, and it has to stay responsive on the low-end Android devices that front desks actually use.
Solution
Processing is throttled to sampled frames rather than every frame, with the camera surface released the moment a scan completes, keeping battery and thermal cost proportional to a short interaction.
Challenge
Gym networks are unreliable exactly where the scanner lives — thick walls, weak signal, dead spots at the entrance.
Solution
Check-ins are queued locally and reconciled when connectivity returns, so a lost signal delays reporting rather than stopping people getting through the door.
Challenge
Predictive scores are worthless to an owner if they can't tell what to do with them.
Solution
Scores are surfaced as ranked, actionable follow-up lists tied to individual guests and visits, rather than as an abstract percentage on a dashboard.
Outcome
Where it landed
- 01Paper guest logs replaced by a seconds-long digital check-in
- 02Every visit converted into structured data owners can act on
- 03Entry keeps working through weak connectivity and failed scans
