01Context
What this was
Nagomy Fitness, a group-training gym, needed one place where staff run memberships and classes, coaches see calendars and rosters, and members confirm attendance, follow workouts, and stay on top of payments without jumping between spreadsheets, chat threads, and billing tools.
02Problem
What was broken
Before
Practices, workouts, and payments lived in disconnected tools with no shared attendance or video library for members training at home.
What had to change
Peak hours need fast staff tablets, coach-specific views under RLS, and reliable member apps for RSVP, calendars, and exercise video.
- 01No single roster for who is attending or declining group practice
- 02Workout and exercise content not reachable for members between sessions
- 03Revenue, coach assignments, and payment reminders scattered across channels
03Solution
What I built
Next.js and TypeScript web app and PWA for admins and staff - memberships, workout and exercise builders, group practice scheduling, attendance (join / decline), exercise and workout video for client home use, revenue dashboard, shared calendar, coach-to-session mapping, and payment reminders for staff and members.
Supabase with RLS so coaches, staff, and members each see only permitted data.
Expo for Android and iOS member apps - RSVP for group training, browse workouts and exercises, membership status, and personal calendar.
04Decisions
Key implementation decisions
- 01
Split surfaces by role, one data model
Staff stay on web/PWA for operations; members get installable PWA and native apps without duplicating schedule or membership logic.
- 02
Video attached to workouts and exercises
Clients who miss practice or train at home can follow the same coached movements owners publish from the admin side.
- 03
RLS for coaches inside the staff product
Coaches use the operational app with row-level rules instead of a separate siloed tool.
05Impact
Operational impact
- Staff see practice attendance, coach load, and revenue in one dashboard.
- Coaches get reminders and calendars tied to the sessions they lead.
- Members confirm attendance, watch exercise video, and receive payment nudges on mobile.
06Results
Results
- Unified gym operations across staff web/PWA and member mobile.
- Group practice attendance and home workout video in one product loop.
- Supabase RLS foundation for staff, coach, and member roles.
07Stack
Technology stack
- Frontend
- Next.js, TypeScript, Expo, PWA
- Backend
- Supabase, PostgreSQL, RLS
- Focus
- Memberships, practices, workouts, video, billing
Project images
Mobile app
