All work
Sportify screenshot built by Vector9
Sportify app icon

Sportify: Fitness booking platform

Live in Production

Book the class and pay in the app, but a booking is only real when the venue's door agrees.

Role
Designed, built and shipped end to end
Timeline
2025
Type
Fitness venue booking platform
Platforms
iOS and Android

Stack

Expo / React NativeTypeScriptNativeWindZustandSupabase Edge FunctionsGoogle MapsPaymobEAS

Booking fitness in most cities is a mess of per-gym memberships, Instagram DMs and front-desk phone calls. Sportify collapses that into one app: browse every venue on a map, book a class or a session, pay once for a membership or a pack of credits, and get through the door with your phone.

The hard part is that the loop does not end on a screen. A booking is only real when someone walks into a physical venue and the system agrees they are allowed in, so payments, entitlements and the front door all had to speak the same language, in a market where payments mean local rails rather than the usual defaults.

Discovery on a map

Venues live on a clustered map with filterable search, modeled as venue, branch and activity so a gym chain and a single yoga studio fit the same shape. Each branch carries its own schedule, pricing and activities: what you see at a pin is exactly what you can book there. The map is not a directory that points somewhere else; discovery, booking and payment run in one unbroken flow, which is the entire pitch against the DM-and-phone-call status quo.

Map search: clustered venue pins across Cairo, with filter and sort in the sheet below
Map search: clustered venue pins across Cairo, with filter and sort in the sheet below

Entitlements live server-side

Money and access never touch client logic. Every sensitive path, from booking and cancellation to membership joins and payment initiation, runs in roughly thirty server-side functions. The app is a thin, fast view over that; nothing on the device can grant entry or move money.

The venue back-office: an activities calendar with schedules, bookings and instructors
The venue back-office: an activities calendar with schedules, bookings and instructors

Payments on local rails

Egypt runs on Paymob, so the money layer speaks local rails. Cards are tokenized on the first purchase and repeat purchases skip the card form; memberships renew against saved tokens; credit packs and wallet top-ups run through the same pipe. The app only ever asks the server to open a payment, and nothing is owned until Paymob's transaction callback confirms it.

Browsing activities: filterable results by branch, each ready to book and pay in one flow
Browsing activities: filterable results by branch, each ready to book and pay in one flow

The QR at the door

Arrival is a camera scan plus a location check. The server validates the booking or membership behind the code, logs the visit, and that same visit counts toward rewards that pay back in credits. Closing a digital purchase at a physical turnstile compresses the entire product into one interaction, so it had to feel instant.

The home screen: the weekly booking goal and the credits every check-in pays back
The home screen: the weekly booking goal and the credits every check-in pays back

Sportify is live on the App Store and Google Play, shipped across three releases and a full 2026 redesign.

The venue side is a shipped product of its own: a companion web dashboard where operators run branches, schedules, instructors, bookings and reviews. One entitlement system serves both, and the QR at the door is where they meet.

Want something like this?

Tell us what you're building and we'll give you an honest assessment of scope, timeline, and cost.

Book a Call