Skip to content

Gym management platform

FitKendra: gym management, built for a client

A multi-tenant gym-management platform we designed and built for a client, with a web dashboard for staff, an API, and a mobile app for owners and members.

Stylised illustration, not a screenshot
  • Livestatus of the platform
  • Client projectdesigned and built for a client
  • 3 platformsweb, iOS and Android
  • Gymsdesigned for gyms in India

Problem

Renewals slip when records live in registers

Running a gym means tracking members, renewals, payments and attendance every day. When that lives in registers, spreadsheets and chat groups, renewals slip, dues go unpaid and an owner with more than one branch cannot see the whole business in one place.

Built

One platform for the daily work of a gym

From the front desk to the owner's phone. Everything listed here is built today. The mobile app keeps its data on the device for now, separate from the web dashboard.

  • Members

    Profiles with a clear status, from lead and trial to active, frozen and expired. Search, filters, notes, a timeline for each member, and CSV import and export.

  • Membership plans

    Plans with pricing and GST. Assign, renew or freeze a plan; a freeze extends the end date so members keep the days they paid for. Expired memberships update automatically each day.

  • Payments and dues

    Record payments by cash, UPI or card, and track and settle what each member owes. The app has a member screen for receipts and dues.

  • QR check-in

    Members check in with a QR code and see their attendance history. The owner sees today's check-ins on the dashboard.

  • Staff and roles

    Separate accounts for owner, manager, front desk and trainer, each with its own permissions.

  • Gyms and branches

    The platform supports many gyms, each with its own data kept apart. A single gym can have more than one branch.

  • Announcements

    Owners post announcements, shown on the member home screen of the app.

  • Owner dashboard

    Active members, recent revenue, memberships about to expire and today's check-ins on one screen.

Platforms

A web dashboard, an API and a mobile app

Web dashboard

Next.js · owners and staff

API

NestJS · Prisma

Serves the web dashboard

Database

PostgreSQL

Each gym's data kept apart

Mobile app

Expo React Native · iOS, Android, web

Stores its data on the device

FitKendra system outline. The web dashboard uses the API, which stores data in PostgreSQL. The mobile app is separate and keeps its data on the device.

Stack

Widely used tools, TypeScript throughout

The tools FitKendra is built with, by part of the system. Each is widely used and well supported.

Web dashboard

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui

API

  • NestJS
  • TypeScript
  • PostgreSQL
  • Prisma

Mobile app

  • Expo
  • React Native
  • Expo Router
  • TypeScript

Quality

  • Strict TypeScript
  • Vitest
  • Continuous integration

Decisions

Engineering choices

  • Each gym's data kept apart

    Every query is scoped to one gym automatically. If the gym is unknown, the API refuses the query instead of guessing.

  • Careful money handling

    Amounts are stored in paise, and a member's price is saved at the time of sale, so a later plan price change never alters what they already bought.

  • Secure sign-in

    Password or phone OTP login. Sessions rotate, and a reused session token logs that user out.

  • One app for two roles

    Owners and members use the same app, which shows each role its own screens.

Learned

Choices we would make again

  • Build for more than one gym from day one. Adding data separation later is slow and risky.
  • Handle money with care from the first version: store amounts in paise and keep the price each member agreed to.
  • One app with role-based screens is simpler to ship and maintain than separate apps for owners and members.

Next

Planned, not built yet

These are planned next steps. They are not part of FitKendra today.

Planned features

  • Class scheduling and booking

    Planned
  • Online payments and GST invoices

    Planned
  • Workout and diet plans for members

    Planned

Planned AI features

  • Renewal reminders

    AI drafts renewal and dues reminders for WhatsApp, and the owner approves them before they go out.

    Planned
  • Members at risk

    Flag members whose attendance is dropping, so staff can reach out before a membership lapses.

    Planned
  • Ask your gym data

    An assistant that answers owner questions in plain language, such as which members have dues this month.

    Planned
  • Faster onboarding

    Read photos of paper registers and old spreadsheets to speed up importing members.

    Planned

Need software like this for your business?

Tell us how your business runs today, and we will show you what we would build.