All work

SciGym

Gym management across member, trainer and admin surfaces

Lead of 5 at Scitech ValleyPre-launch testing March 2026 – June 2026 Scitech Valley
ReactReact NativeExpoNodeExpressMySQL
Try it

No public demo. The Android build above is the way to try it.

Three surfaces for people who never see each other's information: members tracking workouts and memberships, trainers managing clients and attendance, and administrators handling membership records. I built the member and trainer mobile applications solo, contributed to the web application, and made most of the design and system decisions.

Check-in is QR based. Payment gateways are scaffolded but not activated, so the receptionist confirms payment and records the details manually. The software knows a membership is paid because a person said so, which means the reconciliation and failure-handling work is still ahead rather than done.

The hardest problem on this project was not technical. Several interns on the team had little experience with Git, so version control was being taught while the team shipped against a deadline. Deciding how much to slow delivery in order to teach, and how much to absorb personally to keep it moving, was the real problem. Building both mobile applications solo was part of that tradeoff.

Stack

  • React: Web dashboard for administrators.
  • React Native: Member and trainer mobile apps.
  • Expo: Build and device testing for the mobile apps.
  • Node: API runtime for memberships and QR check-in.
  • Express: Endpoints for member, trainer and admin operations.
  • MySQL: Relational store for memberships, attendance and trainer logs.

Screens

SciGym entry screen with member and trainer sign-in
Member and trainer entry
SciGym member sign-in screen
Member sign-in
SciGym member home with workout and goal overview
Member home overview
SciGym weekly workout plan assigned by a trainer
Trainer-assigned workout plan
SciGym member profile showing an active membership record
Membership record on the member profile
Client work, source not public.