← All AI buildsPRODUCT CASE STUDY · BUILT WITH AI

Gym Management Platform

A complete management system for a gym business, from first enquiry to membership, check-in, payment, trainer payroll and the monthly profit & loss.

Type
Own product, built with AI coding agents
Scope
11 modules on one architecture
Users
Owner, manager, receptionist, trainer
My role
Product, architecture, data design, review & testing
Python 3.11FastAPIMongoDBRedisCeleryReact 18TypeScript
modules, one consistent architecture
11
dashboard KPIs in one API call
12
notification channels: email, SMS, WhatsApp
3
HIGHLIGHTS

Five things that set this platform apart.

  • One trip per screen

    Dashboards run on MongoDB aggregation pipelines, so each screen is a single query.

  • Signed QR check-in

    HMAC-signed member QR codes, scanned by camera, with no token storage.

  • Honest money

    Invoices keep a ledger of payments and refunds; status is derived, never typed.

  • Automatic reminders

    A scheduler sends expiry, payment and follow-up reminders by email, SMS and WhatsApp.

  • Real profit & loss

    Revenue from payments minus expenses by category, month by month.

ARCHITECTURE OVERVIEW

Clean layers, background jobs on the side.

Routes call services, services call repositories behind interfaces, and slow work like sending reminders runs in Celery workers.

UsersBackendData & servicesAdmin web appQR check-inTrainer self-serviceREST · JWTFastAPI11 modulesMembers & plansPayments & GSTAttendance & trainersReports & P&LCelery + RedisMongoDBaggregation pipelinesSMTP emailtemplated messagesTwilioSMS & WhatsAppFile storagephotos, receipts, logosRole-based access, 4 rolesRoutes → services → repositoriesScheduled reminders & dispatch
What makes it different

Every module follows the same conventions: soft delete, audit log, search, filters and export.

WHAT THE PLATFORM DOES

The whole gym business in one system.

  • Members

    Profiles with health data and BMI, uploads, timeline, soft delete and a field-level audit log.

  • Memberships

    Plans, renewals, coupons, GST pricing locked at purchase, invoices and payment links.

  • Attendance

    Manual and QR check-in, late-entry flags, reports and a missed-members list.

  • Payments

    Cash, card, UPI and bank transfer with partial payments, refunds and receipts.

  • Trainers

    Schedules, assigned members, leave approval, salary + commission payroll and performance.

  • Expenses & equipment

    Categorised costs, warranties, maintenance and repairs, barcodes and QR labels.

  • Leads & notifications

    Sales pipeline with follow-ups, plus templated email, SMS and WhatsApp messages.

  • Reports & settings

    Profit & loss with Excel/PDF export, branches, staff roles, audit log, backup and restore.

DESIGN DECISIONS

The options weighed, and the trade-offs accepted.

How the hardest calls were made: what else was on the table, why it lost, and what the chosen design costs.

Freezing prices at purchase

Plan prices and GST rates change, but past invoices must never change with them.

  1. Read the current plan price when showing an invoice
  2. Snapshot discount, GST and total on every membership (chosen)
Decision

Pricing is computed once at purchase or renewal and stored with that billing period.

Trade-off accepted

Some data is duplicated across memberships, in exchange for invoices that never drift.

TECHNOLOGIES & INTEGRATIONS

The stack behind it.

Backend
Python 3.11FastAPIBeanieMongoDBRedisCelery
Frontend
React 18TypeScriptViteTailwind CSSTanStack QueryRecharts
Integrations
SMTPTwilio SMS & WhatsApp
Quality & ops
pytestVitestDockernginx
Skills shown
Product designDomain modellingReportingBackground jobsAI-assisted development
FULL BUILD LOG

The work, piece by piece.

  1. Layered backend (routes → services → repositories behind interfaces) so business logic is unit-tested against in-memory fakes.

  2. Dashboard KPIs, revenue and attendance charts built on MongoDB $facet/$group aggregation pipelines: one round trip per screen.

  3. Member management with soft delete and restore, search/filter/sort, photo and document uploads, a timeline and a field-level audit log.

  4. Memberships with plan freeze/activate, renewals as linked records, coupons, GST pricing snapshotted at purchase, invoices and payment links.

  5. Attendance with manual and HMAC-signed QR check-in by camera, duplicate guards, late-entry flags, reports and a missed-members list.

  6. Payments as an invoice with an embedded transaction ledger: partial payments, refunds, receipts and a derived status.

  7. Trainer HR: schedules, member assignment, attendance, leave approval, salary plus commission payroll and performance snapshots.

  8. Expenses by category with monthly and yearly reports, and CSV, Excel and PDF export from one column definition.

  9. Equipment inventory with warranty, maintenance and repair ledgers, service schedules, barcodes and QR codes.

  10. Lead pipeline with sources, follow-ups, staff assignment and conversion-rate reporting.

  11. Notifications over SMTP email and Twilio SMS/WhatsApp, with templates and a Celery-beat scheduler for expiry, payment and follow-up reminders.

  12. Cross-module reports including a real profit & loss, plus gym settings, branches, staff roles, global audit log and JSON backup/restore.

  13. Production Docker setup: static frontend behind nginx and a hardened, non-root API image.

Want a walkthrough?

The code is private, but I'm happy to demo the product and talk through the architecture. I'm available immediately for senior roles and contract work.