All projects
align
with enjy

Align with Enjy

Yoga · Fitness · Wellness studio booking

Live on App Store · 200 clients · 30–45 sessions/day · Capacitor · iOS 15+
See the story Solo · No Mac
CATEGORY
WellnessBooking
ROLE
SoloEnd to end
PLATFORM
iOS + PWACapacitor shell
BUILD
CloudNo local Mac

Preview

iPhone · iOS 17
Login screen
Sign-in with biometrics
Home dashboard
Home · package overview
Weekly schedule
Weekly schedule
Class detail with booking
Class detail · booking flow
Instructor profile
Instructor profile
My package page
Package tracking & freeze
Weekly view scrolled
This week · daily rundown

The problem

The studio was running bookings on WhatsApp. Every Sunday night the owner was retyping the whole class schedule into a broadcast list. Bookings arrived by DM. Cancellations were remembered, not tracked. Payments lived on a spreadsheet.

The students wanted something they could open, see the week, and book with two taps. The owner wanted her Sunday nights back.

The solution

A native iOS app on the App Store — schedule, booking flow, class-credit tracking, waitlists, push notifications, and instructor profiles. All powered by a PWA underneath, wrapped in a Capacitor shell, built and signed entirely in the cloud through Codemagic. No Mac required.

HIGHLIGHTS

What ships in the box

Copy last week

The owner clones the previous week's schedule with one tap. Sunday-night broadcasts done.

Class credits

Every booking checks the student's remaining balance in real time. Package expiries show inline.

Package freeze

Members can pause an active package for up to 10 days each freeze — extends the expiry automatically.

Push notifications

Class reminders, waitlist promotions, and studio announcements through APNs — reliable and battery-safe.

Instructor profiles

Every teacher gets a rich profile — certifications, teaching style, and their upcoming classes.

Biometric sign-in

Face ID / Touch ID unlock the app in a tap. Session-based auth with token refresh in the background.

TECHNICAL DEEP-DIVE

Shipping to the App Store without a Mac

The hardest part of this project wasn't the code — it was Apple. Every guide online assumes you own a Mac with Xcode. I don't.

The full toolchain runs in the browser and the cloud. Code lives in GitHub and gets edited in the web editor. On push, Codemagic spins up a macOS runner, runs the Capacitor build, code-signs with certificates it manages for me, and submits to TestFlight through Fastlane. From the moment I hit "save" to a new build in the tester's hand: about twenty minutes.

The frontend is a PWA — the same web app the studio owner uses in her browser for admin — wrapped in a native iOS shell. When Apple approves an update, I don't even need to hit publish; the PWA reloads its shell automatically. That means one bug fix, one deploy, both surfaces.

The push notifications go through APNs directly, not Firebase. Reliability matters when a member's booking reminder is going out at 6:45 AM for a 7:00 AM class.