Home/Case Studies/Gymfit
CASE STUDYMARKETPLACES · FITNESS MARKETPLACE MVP

Gymfit

A fitness marketplace taken from zero to app-store launch, with geo-aware gym discovery, QR check-in, tiered memberships, Stripe payments and dashboards for gyms and trainers.

25Weeks operated
2k+Hours of work
10Engineers

The brief

Build "Gym Key" — a fitness marketplace mobile app and supporting web platform connecting end-users with gyms, trainers, and fitness services — from zero to App Store/Play Store launch within a 12-month dedicated team engagement, covering product design, frontend, backend, DevOps, QA, and business analysis.

What we built

A full-stack fitness marketplace branded "Zortime" (originally Gymfit) connecting consumers with gyms, trainers, and fitness studios. Deliverables include:

  • a Flutter mobile app published on App Store and Google Play with geo-aware gym discovery, QR check-in, tiered membership plans (Silver/Gold/Platinum), trainer browsing, Stripe payments, and Google/Apple SSO
  • a multi-role web admin SPA with separate dashboards for super-admin, gym owners, and agents covering onboarding approvals, revenue management, analytics charts, and Excel exports
  • a NestJS backend with microservices for auth, booking, support-chat, and trainer onboarding
  • a combined partner registration portal serving gyms, trainers, and fitness studios via a single URL with role-conditional stepper forms
  • a Stripe Connect payment infrastructure supporting plan purchases, upgrades with proration, coupons, auto-renewal, and gym-owner payouts
  • production-grade AWS EKS infrastructure across dev/pre-prod/prod with Jenkins CI/CD, HA RDS, OpenVPN, SNS notifications, and HTTPS; and
  • a public marketing website for the Zorfit brand.
⊛ Live in production

Flutter app published on both Apple App Store and Google Play Store; multi-role admin/gym-owner/agent web panel on production Kubernetes cluster with HTTPS subdomains; NestJS backend microservices (main API, booking, support-chat, trainer) deployed on AWS EKS prod cluster with HA RDS; Stripe Connect payment flow with plan tiers, proration, and coupon engine live; QR check-in system in production; marketing website (Zorfit brand) deployed; combined partner onboarding portal in final stages of dev/pre-prod.

How it was built, phase by phase.

8 workstreams across 25 weeks of operated delivery

  1. (001)BUILDWeek 1–6 (Jan 6 – Feb 11 2025)

    Backend Foundation & Auth System

    Node.js/NestJS backend setup including database migrations, multi-role authentication (user, trainer, gym owner, agent, super-admin), auth guards, JWT, Google/Apple social login, and OTP verification flows.

    Unified auth system serving 4+ distinct user roles with social login, OTP verification, and alphanumeric password enforcement deployed to prod

    Node.jsNestJSPostgreSQLJWTAWS SNSStripe
  2. (002)BUILDWeek 1–22 (Dec 24 2024 – May 30 2025)

    Flutter Mobile Application (Consumer-Facing)

    Cross-platform Flutter app for end-users covering gym discovery with geo-location and Google Maps, plan purchase, check-in/QR flow, trainer browsing, profile management, coupon redemption, deep linking.

    Published on both App Store and Google Play with geo-aware gym discovery, QR check-in, tiered plan purchase, and trainer browsing

    FlutterDartGoogle Maps SDKStripe SDKGoogle PayFirebase
  3. (003)BUILDWeek 2–13 (Jan 17 – Apr 3 2025)

    Gym Onboarding & Marketplace Listings

    Multi-step gym registration flow covering basic info, features/amenities, operating hours, legal & compliance, gym icon uploads, geo-location, and admin approval/rejection workflows with edit request flows.

    Full gym partner onboarding live in prod with prepaid/postpaid billing, admin approval flow, and Stripe Connect payment account linking

    NestJSPostgreSQLTypeORMAWS S3Stripe ConnectReact/Next.js
  4. (004)BUILDWeek 4–22 (Jan 27 – May 30 2025)

    Admin & Agent Web Dashboard

    React-based multi-role web panel for super-admin, gym-owner, and agents covering gym management, user/subscriber management, analytics, revenue management, support tickets, export functionality.

    Multi-role SPA deployed with analytics dashboards, revenue management, Excel exports, and role-based access control serving admin, gym owners.

    ReactNext.jsNestJSRecharts/Chart.jsExcel exportAWS S3
  5. (005)DEPLOYWeek 5–17 (Feb 3 – Apr 18 2025)

    AWS Cloud Infrastructure & CI/CD Pipelines

    Full cloud setup on AWS: EKS clusters (dev/pre-prod/prod), RDS PostgreSQL with HA, ALB ingress controllers, ECR artifact storage, Jenkins CI/CD pipelines, OpenVPN, Route53 DNS, S3, SNS for notifications.

    Production-grade Kubernetes infrastructure across 3 environments with full CI/CD automation, HTTPS, HA database, and VPN-secured prod access

    AWS EKSAWS RDSAWS S3AWS ECRAWS ALBAWS Route53
  6. (006)BUILDWeek 6–14 (Feb 6 – Apr 7 2025)

    Slot Booking, Check-In & QR Code System

    End-to-end gym visit booking: slot schema, slot booking APIs, QR code generation for check-in, check-out logic, date-based filters, missed slot management, and category-restricted check-in tied to membership plan.

    Booking microservice deployed with QR check-in, plan-category access gates, and date-based slot filters running in prod

    NestJSPostgreSQLQR Code generationFlutterStripe
  7. (007)INTEGRATEWeek 7–18 (Feb 11 – May 8 2025)

    Membership Plans, Payments & Stripe Integration

    Tiered membership plans (Silver/Gold/Platinum), Stripe payment gateway integration for plan purchase and upgrades, prorated upgrade calculations, coupon/discount engine, auto-renewal.

    Full payment lifecycle live: plan purchase, upgrade with proration, coupon discounts, auto-renew.

    StripeStripe ConnectNestJSFlutterPostgreSQLGoogle Pay
  8. (008)BUILDWeek 15–22 (Apr 10 – May 30 2025)

    Trainer Onboarding Module

    Full trainer registration and management system: email pre-check, multi-step stepper onboarding, experience/services/timing tabs, admin approval/rejection workflow, trainer profiles in mobile app.

    Trainer onboarding microservice live with multi-step registration, admin approval workflow, and consumer-facing trainer discovery in mobile app

    NestJSFlutterReactPostgreSQLStripeAWS EKS

Stop renting hours. Start running functions.

Pick the function you want off your plate. We map the brain and name the outcome before you commit.