Fitness management system
Every club you run,under one roof.
Members, passes, equipment and finance in one system. Built for a chain, and it already takes most of the daily work off a single gym.
It carried 30,016 concurrent users in the load run, without a single failed request.
The starting point
Club data lives in five places.
Door access in one system, passes in another, invoicing in a third, and equipment servicing in a spreadsheet somebody has been keeping for two years. Ask how many passes are live right now and the answer takes three lookups and then a phone call.
One record
The member, their pass and their club are kept by the same system. What the front desk changes is what the monthly report shows.
Many clubs, one account
The chain level was not bolted on later. Shared master data and the per-club view have been in there from day one.
Traceable decisions
Every change carries the name of whoever made it and the time. Not even an administrator can switch the log off.
Features
What you can use today.
These screens exist, click through and tested.
Member directory
A searchable list with filters. Click a name and their history opens: when they joined, what is valid now, what they have paid.
Membership plans
Monthly pass, day pass, session pack — with price, validity and session count. On an issued pass the system keeps the expiry, the sessions left and any freeze.
Clubs and zones
Any number of clubs under one account, each with its own spaces: cardio, studio, free weights, changing rooms. With floor area and capacity.
Equipment
Condition, warranty, purchase price and the zone it stands in, machine by machine. When something breaks, the report becomes a maintenance entry, and it stays on record who touched what and when.
Finance
Transactions in one list, exported for the accountant. They can be read but not rewritten: an entry cannot quietly disappear later.
Staff and permissions
Set per area who sees nothing, who reads, and who may write. That way the front desk cannot open the finance report.
Audit log
Who, what, when — readable line by line. This is what you reach for when a deletion is disputed.
Access requests
A new colleague sends a request and the club administrator lets them in. Nobody appears in the system on their own.
Subscription
The trial starts without a card. If you do not carry on, your club’s data is still not lost: you can sign in and look back through it, you just cannot work in it.
Setup
Setting up the first club is a guided run: company details, spaces, plans, permissions, in that order.
Numbers
How it behaves under load.
A club system has to hold up at opening time and in the six o'clock rush. The figures below come from the record of a load run.
30,016
concurrent users
844,200 requests went through during the run, and none of them failed.
4.4ms
p95 response
Dashboard, member list, search: 95% of responses are faster than this.
98.4%
code coverage
A change that drops it below this never reaches a release.
10
modules
Each has its own database boundary and can be lifted out on its own once it gets tight.
Separated customer data
No club's data leaks into another's. Dedicated tests try it before every release, and if one of those requests gets through, the release stops.
Access ends at once
When someone leaves, suspending their account is enough.
Traceable failures
Every request gets an id. When someone reports a problem, that id shows exactly what happened to it and where it stopped.
Payments on Stripe
Stripe handles the card side. No card number is stored here, not even encrypted.
Roadmap
What is being built.
The foundation is in place, and nine directions lead on from it. Each is a module of its own, and all of them sit on the same trunk.
Buying a pass online
The member renews their pass in the system and hears from it before it runs out. Enrolment stays at the front desk: a purchase cannot turn into an account.
Mobile app
The purchased pass becomes a QR code the member enters with.
Turnstile
The door decides on the code locally, even when the network is down. In the morning rush that is not a detail.
Timetable and booking
Classes, trainers, capacity, cancellation deadlines. The biggest piece on the list, which is why it sits further back.
Locker control
The changing-room locker opens from the member's phone, and the front desk can see which ones are taken.
Receipt printing
A till receipt on site, to local regulation. Tied to hardware, so it is a round of its own.
Shop and till
Drinks and accessories, with stock and payment started from a phone. Whether it is worth building ourselves is still open.
Operator console
The level above the clubs, where subscriptions and hold-ups are visible. This one is for us.
Self-service start
A club can start its own trial without having to talk to anyone first.
Who it is for
From one gym to a chain.
The system thinks in more than one club from the start. That is exactly why it suits a single gym too: opening the second one does not mean changing systems.
Chain
Master data is shared, the view is per club, and head office hands out permissions from one place.
Single gym
The same thing at a smaller scale: one gym, one front desk, the same screens.
Franchise
Units work on separated data, and head office can still see what is going on inside them.
Contact
Let us look at it live.
Tell me how many gyms you run and where most of the day goes. I will walk you through live and show what the system does about it.