Back to case studies
Web Application
Feb 15, 202612 min read

Gym Management System

Staff operations plus member apps for classes, workouts, video, payments, and calendars.

Author
Viktor Stoimenovski

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