The gym runs
on one record.
A member logs a set. Their coach sees it that evening. The owner sees what it did to attendance, to payroll, to the month. Same row in the same database — read three ways, by three people who each need something different from it.
Invented names and invented figures, drawn to show the shape of the screen. Repple has not launched publicly, so there is no customer’s gym to draw here — and we would not put one on a marketing page if there were.
One account across all three — install only the one for your role. The listings are going live now; if a link does not open yet, that app has not finished going out. You can create your account today and sign in when it lands.
Three apps. One truth.
Splitting them apart means nobody wades through a screen built for someone else's job. Keeping one database underneath means nobody has to reconcile anything.
For the person training
Every session, lift, meal and measurement in one history that actually goes back — and a coach who can see it without being asked.
Explore ReppleFor the coach
Your whole book — clients, programmes, schedule, check-ins — in the place you already look, instead of four apps and a notes file.
Explore CoachFor the gym
Timetable, memberships, payroll, retention and revenue on one board — so you can see which one is moving the others.
Explore StudioOne row written once,
read three different ways.
A one-to-one session is a single row. It carries who trained, who coached, when it started and what happened to it. Three apps read that row and none of them asks the same question of it. Nothing is copied between them, so there is nothing to fall out of step.
What each app takes from the same session row
Writes most of it
Sets, reps, load, cardio, meals, scans, measurements. The member is the one holding the phone during the work, so they are the one who creates the rows.
Reads it, and writes the plan
A coach writes programmes and marks what happened in a session. They read a client's log only where that client has linked them.
Reads the parts that cost money
Attendance, delivered sessions, memberships, payments, door visits. Studio never opens a member's training log — that is not the gym's row to read.
Same record.
Different job.
Install the one that matches what you do. If two of them describe you — a coach who also trains, an owner who still takes clients — install both. It is one account either way.
| ReppleFor membersYou train. | Repple CoachFor coachesYou have clients. | Repple StudioFor gymsYou run the place. | |
|---|---|---|---|
| Log your own trainingSets, reps, load, cardio, effort. | Your full history | Your own sessions too | — |
| Apple Health & watchesImport what you already recorded. | In and out | — | — |
| Someone else’s trainingReading a person you work with. | Only if you link a coach | Every client who linked you | Attendance, not their lifts |
| ProgrammesWritten once, assigned out. | Receive them | Write and assign | — |
| Timetable & classesBookings, capacity, attendance. | Book a place | Your own week | The whole gym’s |
| Memberships & paymentsWhat is sold and what was taken. | Your own | — | Everyone’s |
| Staff & payrollDelivered sessions, priced. | — | What you delivered | What the gym owes |
| The doorWho is in the building right now. | — | Working the desk | The whole log |
| The business pictureRetention, revenue, capacity. | — | — | On phone and on the web |
A dash means that app does not do that job — not that the feature is missing. Studio does not show a member their own lifts because that is Repple’s screen, and they are the same rows underneath.
Create an accountSix screens that between them
run the place.
Studio is on the phone and on the web, and the web console is the one the front desk actually wants — wide tables, a keyboard, and the jobs that take twenty rows at a time. Both call the identical functions through the identical database rules, so there is no second version of any figure.
The week, and who turned up
Build a class once as a real repeating series rather than twelve copies. Take bookings against a stated capacity, then tick people off at the desk.
- Fill rate is bookings against capacity
- Show rate is attendance against bookings
- They are different questions and get different numbers
One-to-ones, and their outcome
Every session that has finished with nothing recorded sits at the top of the screen with the buttons that resolve it: delivered, no-show, cancelled, late cancel.
- Whether a no-show is payable is your policy, set on the page
- Settlement stamps the sessions it covered
Price book, memberships, payments
What the gym sells, who is on which plan, and what has actually been taken — by card, cash, transfer or direct debit.
- Money is held as whole minor units, never as a float
- One-off payments stay out of recurring revenue
Who is in the building
Check-ins at the desk, by QR, or from the app, plus the passes sold to people who are not members. The one operational screen a trainer can open as well as an owner.
- A visit with no exit is open, not zero minutes
- Days since last seen, per member
Your existing records, brought in
Paste a spreadsheet of plans or payments. Everything is a dry run until you press the button, and every row it cannot read with confidence comes back refused, with the reason.
- It asks which way round your dates are written
- It never guesses at an ambiguous value
What the gym owns, and what is broken
A register of kit, its service schedule and its status. Capacity is a claim about a room, and it stops being true the moment six of the rowers go out of service.
- “No schedule” and “schedule set, never serviced” stay separate
- An empty register returns nothing, not zero
Where the week is actually full
- 75% and over
- 50–74%
- 25–49%
- Under 25%
- No class scheduled
Three numbers a single “attendance” figure hides
- Attended 1,749
- Booked, did not attend 260
- Never booked 763
It can only count
what was delivered.
The easy way to build this is to treat every booked slot whose clock has passed as a session that happened. That counts no-shows, counts slots nobody cancelled, and then pays for both. Repple will not do it.
- Booked and delivered are different columns — a session is delivered when somebody records that it was, not when the hour passes.
- One unmarked session stops the total — the payroll figure goes to a dash and says how many are outstanding, rather than quietly under-reporting.
- Whether a no-show is payable is your policy — it is a control on the screen, so you state it and watch what it does to the number, instead of finding out in a payslip.
- There is somewhere to do the marking — the Sessions screen lists everything awaiting an outcome at the top, with the three buttons that clear it.
- Paying stamps the sessions it covered — so the same hour cannot be settled twice next month.
Awaiting an outcome — these sit at the top of the screen until somebody says what happened to them.
What actually happened to the booked hours
Most people who train at your gym
never book anything.
Counting attendance only where a class was booked and ticked off leaves out everyone who walks in, trains on the floor and leaves. That under-count reaches further than the headline: a member who moved from classes to the floor looks exactly like a member who stopped coming. The door log is there so those two are different.
Footfall by hour
- 45 entries and over
- 25–44
- Under 25
Joined, left, and the net of the two
- Joined 176
- Left 135
A gym that cannot import its history
starts from nothing.
Everything Studio does — retention, payroll, the lot — is worthless against an empty record. So the import is not an afterthought bolted on at the end; it is the first screen that matters, and it is built to refuse rather than to guess.
-
1
Paste the file in
A CSV, straight into the box. The importer recognises the usual column names — member, amount, date, method for payments; name, price, interval, currency for a price list — so most exports from whatever you are on now go in without being rewritten first.
-
2
Say which way round your dates are
03/04/2026 is the fourth of March in one country and the third of April in another, and no amount of cleverness can tell which from the file. You pick day-month-year, month-day-year or year-month-day. Nothing about the choice is inferred.
-
3
Read the dry run
The screen reports what it would do before it does anything. Rows it can read, rows it cannot, and — for a price list — which of the plans in your file the gym already sells, so an import cannot quietly create a second “Monthly” alongside the first.
-
4
Look at what it refused, and why
Every refusal comes with its reason in plain words: a price column with four decimal places is a unit rate or an exchange rate, not money, so it is handed back rather than rounded. A year of plausible, wrong history is far worse than a hundred rows you have to fix.
-
5
Know what will not import
Plans and payments import. Members are checked here but not created — a membership has to point at a real Repple account, and an account is something a person accepts, not something a spreadsheet conjures. Members come in by invitation.
-
6
Then press the button
Only that last press writes to your gym, and it writes exactly what the dry run said it would. The one sentence this is built never to produce is “12 plans imported” when five of them silently failed.
The whole book, in the place
you already look.
A coach's job is spread across a scheduling app, a spreadsheet of programmes, a camera roll of technique clips and a phone full of messages. Coach is five tabs that hold all of it, sitting on the same rows the client's own app writes.
Who needs you today
Add someone by hand, or invite by email and they accept it in their own app. Filters split the roster by at-risk, online and in-person, and needs check-in surfaces the ones who have gone quiet.
Written once, assigned out
Start from a template or build a week from scratch, then assign it — it appears in that client's Train tab. Save anything you like as a template and use it again.
Your coaching week
Book a client into a slot, or open a slot they can book themselves. Set the availability you offer every week once. Schedule group classes and check members in.
Clips where they are needed
Record, upload or paste a hosted link. Anything in your library plays against the matching exercise inside every client's session — not in a folder they have to go and find.
How the coaching is going
Sessions delivered counts what you actually ran this month, not what was booked. Roster health splits your clients into on track, watch and at risk. Figures stay empty until there is real activity behind them.
Coaches train too
Coach logs your own sessions alongside your clients' — the same log, the same records board. You do not need a second account to be a person who lifts.
What the shared record buys a coach
- No chasing for what happened — the client logged the session in their own app as they did it. You are reading the same rows, not a summary they typed out afterwards.
- Access is granted by the client — a coach reads a person's training because that person linked them, and it stops when they unlink. It is not a side effect of working at their gym.
- Marking a session is one tap, and it is the tap that pays you — the same outcome that clears your schedule is the one the gym's payroll counts.
- You keep your book if you move — clients are linked to you, not to a gym's installation. Coach works for an independent coach with no gym behind them at all.
Roster health is read off delivered sessions and client load — both of them counted rows. A coach with clients and no delivered sessions is flagged, and the flag says which of the two it is.
Invented figures. A new account shows none of this until real sessions exist behind it.
The record belongs to
the person doing the work.
Everything else on this page is downstream of one thing: somebody logging a set. Repple is built so that logging it is worth doing — a history that goes back as far as you do, in a form you can still read in two years, and yours to take away.
How recovered you are, and what is next
Readiness needs a night of sleep logged before it shows anything, and stays blank until then. Weight, body fat and muscle come from your most recent scan, with the change since the one before.
Your programme, session by session
Start workout walks you through it exercise by exercise, logging reps and weight as you go. Book a slot in your coach's open times. Cardio, HIIT and mobility sit alongside the main plan.
Targets that come from your own body
Photograph it, scan a barcode, or describe it in words. Mark the day training, standard or rest and the targets move with it. Targets need a weight and body fat to scale from, so they wait for a scan.
The long view
InBody scans, the tape measurements between them, and progress photos you can put side by side. Weight is one number and it is not the number.
Your account, your coach, your settings
Connect a wearable to bring heart rate and sleep in automatically. Find a coach from the trainers who have opted in and send them a request. It is your account that holds all of it.
Everything else, searchable
Records, trends, habits, reminders, bookings, packs, milestone cards, injuries, the machine scanner — reachable from a searchable directory of every screen rather than buried in a menu.
- It works with no gym and no coach — Repple is a complete training log on its own. The gym and the coach are things you can add, not things it needs.
- Apple Health goes both ways — workouts you already recorded come in; sessions you finish in Repple go back out, so the rings stay honest.
- Your gym sees attendance, not your lifts — Studio reads whether you came in and what you are paying for. It has no screen that shows a member's sets.
- You can take it all with you — export everything, and delete the account outright if you want to. Health data is used to show you your training and for nothing else.
A gym is not a stack of
separate problems.
Attendance is a coaching problem until it becomes a revenue problem. A trainer's schedule is a staffing problem until it becomes a churn problem. When those live in different tools, you find out in the wrong order — usually at the end of the month.
The work that happened
Sets, reps, load, effort, cardio, time in heart-rate zone. Imported from the watch or typed in by hand.
Who is drifting
Not a wall of numbers — the three clients whose pattern changed this week, and what changed.
What it costs and earns
Sessions delivered, classes filled, payroll owed, memberships lapsing. The same events, priced.
One Tuesday, followed all the way through
-
1
Monday — the class goes on the board
Built once as a repeating series rather than twelve copies of the same hour. Its capacity is fourteen, and the equipment register is what says fourteen is still true.
-
2
Tuesday morning — members book
Eleven places taken. That is a fill rate of 79%, which is a measured number, not the front desk's impression of a busy week.
-
3
18:00 — the desk ticks people off
Nine of the eleven arrive. Fill is 79% and show is 82%, and they are two different questions with two different fixes. Collapsing them into one word is how a class reads 79% on one screen and 82% on another.
-
4
18:40 — two more people are in the building
They did not book anything; they came in and trained on the floor. The door log has them, so their attendance is not lost and neither of them looks like a member who has stopped coming.
-
5
Wednesday — a one-to-one is still unmarked
Tuesday's 17:00 finished and nobody recorded what happened to it. Until somebody does, the gym's payroll figure for the month is a dash with a reason attached, and the session sits at the top of the Sessions screen waiting.
-
6
Month end — nothing has to be reconciled
Payroll counts sessions marked delivered, priced at the fee the gym set. Revenue counts payments actually recorded. Retention reads the same attendance the desk ticked off. Three answers, one set of rows, nothing exported between them.
If we don't know the number,
you get a dash — never a guess.
Plenty of software fills a gap with a plausible figure. We think that is worse than useless in a business where you make staffing and pricing decisions off the screen. Every figure in Repple traces to a row someone actually created: a logged session, a recorded payment, a measurement taken. When the input is missing, the app says so and tells you what to enter.
The left figure is counted. The right one can't be derived until somebody tells Repple what a session is worth — so it stays a dash, and says why.
A spreadsheet, a printout
and a group chat.
Most gyms are already running every one of these jobs. The question is not whether they get done — it is whether doing them leaves a row behind that anything else can read. This is the same list of jobs, done the usual way and done here.
| The job | Spreadsheet, printout, group chat | Repple |
|---|---|---|
| Taking a booking | A message in a chat, a name written on a printout, and a capacity nobody can check until the room fills up. | A place taken against a class with a stated capacity. Fill rate stops being an impression and becomes a number. |
| Marking who turned up | Often not done at all. Attendance is remembered rather than recorded, and only for the classes somebody thought to count. | Ticked off at the desk, plus a door log for everyone who walked in without booking. It is the row a drifting member shows up in first. |
| Paying a coach | Sessions counted back out of a diary at the end of the month, with a conversation about the ones nobody wrote down. | Counted from sessions marked delivered. Anything still unmarked stops the total and names itself, rather than being rounded into it. |
| Spotting who is drifting | Somebody notices, or nobody does. Usually the cancellation is the first hard evidence. | Days since each member was last seen, read from the class register and the door log together. |
| Knowing what a room holds | A number written on a laminated sheet some years ago, which nobody revisits when kit breaks. | Checked against the equipment register, so kit out of service changes the capacity the gym measures itself against. |
| Finding last year's figures | A spreadsheet somebody has since renamed, on a laptop that belonged to a manager who left. | In the same record as this year, because it was imported at the start rather than typed forward a month at a time. |
| A member's own training | In a different app entirely, or in a notebook. Not the gym's problem and not visible to the coach either. | Theirs in Repple, readable by a coach they chose to link, and never the gym's to read set by set. |
No claim here is that gyms do this badly. It is that a job done without leaving a row behind cannot be added up later, and every question worth asking about a gym is a question about adding rows up.
The parts you only notice
when they're missing.
Held as whole minor units
Every amount in the system is an integer number of cents or fils, never a decimal. Floats do not belong near a ledger: 0.1 plus 0.2 is a rounding error in a spreadsheet and a dispute in a gym.
One implementation per figure
The web console and the phone app call the same functions over the same rows through the same permissions. A number cannot read one way on the desk and another way on the owner's phone, because there is only one of it.
Straight answers
Do I need all three apps?
No. Install the one that matches what you do. A member never needs Coach; a coach without a gym never needs Studio. They share an account, so if your role changes you sign in to a different app with the same details.
Is Studio an app or a website?
Both, and they are not two products. The phone app is for looking; the web console is for working — wide tables, a keyboard, and the jobs that take twenty rows at a time, like clearing a month of unmarked sessions or pasting in a price list. Both call the identical functions over the identical rows, so no figure can differ between them.
We already run on something else. Can we bring our records across?
Plans and payments import from a CSV, and the import is a dry run until you press the button. It asks which way round your dates are written rather than guessing, and hands back any row it cannot read with confidence, with the reason. Members are checked but not created — a membership has to point at a real account, so members come in by invitation.
What happens if a coach forgets to mark a session?
The month's payroll figure becomes a dash and says how many sessions are outstanding. It does not quietly settle the rest and leave the forgotten ones out. Everything awaiting an outcome sits at the top of the Sessions screen with the buttons that clear it.
Does a member have to book a class to be counted as attending?
No. The door log records entries at the desk, by QR or from the app, whether or not anything was booked. That matters beyond the headline count: without it, a member who switched from classes to training on the floor is indistinguishable from a member who stopped coming.
Does it work without an Apple Watch?
Yes — everything can be entered by hand. What a watch adds is live heart rate during a session and automatic import of workouts you already recorded. One thing it uniquely enables is the heart-rate zone breakdown, which needs samples taken during the session; devices that only report a daily average can't produce it, and Repple won't fake one from a daily figure.
Who can see a member's data?
The member, always. A coach they have deliberately linked to. And their gym, for the membership and attendance information needed to run the place — not private messages, and not their training set by set. Nobody else, and never for advertising. The full detail is in Privacy.
Can a gym export its own data?
Yes. It is your operating record, not ours. Ask and we export everything we hold for your gym.
Are the charts on this page real?
No, and every one of them says so. Repple has not launched publicly, so there is no customer gym to draw from — and we would not publish one if there were. The figures are invented to show the shape of each chart and what it is for. Inside the product, a new account starts empty and fills only with what you record.
What does it cost?
Pricing isn't published yet — the apps are in their first release and we would rather set it against how gyms actually use them than guess in advance. Email support@repplefitness.com and we'll talk plainly about it.
Start with the record.
Create one account, pick the app that fits what you do, and start putting real sessions into it. Everything else in Repple is built on top of that.
