Reading your brief carefully, the member app is actually the smallest piece — the window. The real build is everything behind it: the backend where every rule lives, the glue that keeps GymMaster, HubSpot, and Stripe perfectly in sync, and the engine that makes the hard moments — a launch rush, a membership handoff — behave. Here it is in plain terms, month by month.
The member appWhat members touch — booking, paying, opening the door, referring friends. Important, and honestly the most standard part of the whole build.
The admin portalYour brief says "full account management," and that's not a login page — it's an internal operating system for the business: members, capacity, tickets, waitlists, campaigns, analytics, all in a browser.
The backend platformWhere almost all the work is. One member upgrades their tier and eight things have to happen in order — validate, GymMaster, Stripe, HubSpot, app, notification, log, dashboard. The backend conducts that orchestra every time, for every event.
The integrationsYou already own GymMaster, HubSpot, and Stripe, and they're not changing — so I build around them, never duplicate them. Realistically this is a third or more of the total engineering effort, and it's work I do constantly.
The rules engineCan this member book? Transfer? Use a trial? Open the door? Every one of those answers is custom business logic — and every one ships as a setting you can change, not code you have to pay to rewrite.
Month 1 · FoundationsOne home for all your information — members, memberships, payments, bookings — wired to GymMaster, HubSpot, and Stripe test environments. You'll see: the skeleton working, and weekly demos begin.
Month 2 · Money + membershipWeekly billing across your three tiers, the one-off access pass, personal-training add-ons and casual packs, the trial logic, and failed payments handled gracefully — everything staying in sync with GymMaster. You'll see: a member sign up, pay, and appear correctly everywhere.
Month 3 · The capacity engineThe presale — waitlist, tokens, the 1,000 founding cap, and the 15%-for-life fallback — plus the ongoing 1,700 ceiling. Built as settings, not hardcoded, so your next location reuses it. You'll see: a simulated launch rush that refuses to oversell.
Month 4 · Doors + bookingsTap-to-open at the door, the QR fallback, tiered booking windows for the recovery zone, the referral system, and the Google-review reward. You'll see: a door opening from the app, and bookings obeying tier rules.
Month 5 · The apps take shapeThe member app on both platforms built from your Figma files, the web dashboard, the membership transfer flow, the feedback loop, and member stats. You'll see: the real app on your own phone.
Month 6 · Hardening + launchIndependent security review, load testing, App Store and Play submission with buffer for review cycles, documentation, and handoff. You'll get: the full package, live.
Your specification runs seventeen sections. Here is what each one means in practice, and when you get it.
1ArchitectureSetup
Your three systems stay exactly where they are — I don't replace anything you already pay for. I build the member app, the dashboards, and the layer underneath that keeps all three talking to each other. Your Figma designs get built as drawn.
2GymMasterMonths 1 & 4
Everything that happens to a membership — joining, upgrading, downgrading, pausing, cancelling — flows both ways between the app and GymMaster, so the two never disagree. The app opens your doors through GymMaster's own door system, with the QR code as backup when the internet at the door is patchy.
3HubSpotMonths 1–2
HubSpot becomes your memory. It holds the waitlist, tracks where every lead has got to, and remembers who has already used a free trial — so nobody gets a second one by signing up with a new email address.
4StripeMonth 2
All the money. Weekly memberships across your three tiers, the $34.95 joining fee, personal-training add-ons, casual packs, Apple Pay and Google Pay. If a card fails it retries properly, membership status updates the instant anything changes, and nobody ever gets charged twice.
5Presales campaignMonth 3
Your launch day. Everyone on the waitlist gets their own single-use code at the same moment, and exactly 1,000 memberships get sold — not 1,001, no matter how many people press buy in the same second. Anyone who misses out is automatically moved onto the 15%-off-for-life offer. Every number here is a setting, so your next location runs the same launch without a rebuild.
6Ongoing capacityMonth 3
The gym never sells past 1,700 members. The moment someone cancels, that spot opens for the next person in line. When you're full, people are stopped before the payment screen and put on a waitlist instead of being charged. Staff and instructors don't count toward the number.
7Booking windowsMonth 4
Full Pass members book the sauna and cold plunge 7 days ahead. Gym-only and BJJ/MMA members get 3 days. Casual pack holders get 24 hours. You can change any of those three numbers yourself, whenever you want, without paying a developer to touch code.
8Free trialMonth 2
One free week per person, ever — not per email address. It's checked against HubSpot's record, so a new email doesn't earn someone a second go. At 12:01am on day 8 it rolls into paid automatically. If someone's already had one, they're sent to a screen telling them to contact your team. You can switch trials off entirely with a toggle.
9ReferralsMonth 4
Every member gets their own invite link. When someone they invited joins and actually pays, the member gets a free month applied automatically, and their name lands on the new member's GymMaster profile so you can see who brought who.
10FeedbackMonth 5
A real conversation, not a contact form. A member reports a problem and attaches a photo; it reaches your team with their account details attached. When you reply, the answer arrives back in their app — and the whole thread is kept.
11Google reviewsMonth 4
Members rate you from inside the app. Four or five stars and they automatically get 7 days free on their next bill, and the rating goes out to your Google Business listing.
12Membership transferMonth 5
A member hands their membership to someone else. I check they're allowed to, confirm who's receiving it, verify that person's identity, and set up their own payment method. In GymMaster it moves as a profile transfer rather than a cancellation and a fresh signup, so membership history stays intact. Your member count stays exact the whole way through, both people get told at every step, and there's a permanent record of what happened.
13Member dashboardMonth 5
Members see how long they've been with you, how many times they've checked in, and how many friends they've successfully brought in. New members get a walkthrough the first time they log in — one you can edit yourself and reuse at the next location. Notifications for class reminders, billing, spots opening up, and account changes.
14Apps & web portalMonths 5–6
iPhone and Android apps built from your Figma files, plus a browser dashboard where members manage everything except opening the door — that stays phone-only, deliberately. Both apps submitted to the App Store and Play Store with time built in for review and, if needed, resubmission.
15The engineering standardsThroughout
A separate practice environment and a live one, so nothing ever gets tested on real members or real cards. Hosted in Australia, as you require. Someone other than me security-reviews the money, the door, and the two caps. Everything encrypted, everything tested — including a simulated launch-day rush before your real one.
16The timelineConfirmed
Yes. Mid-August start, delivered by end of February, with store review time already inside the schedule rather than hoped for at the end.
17What you asked forThis document
All five answers are here: how I'd build the apps and why, where it's hosted and why, the total cost, what I'm assuming from your side, and confirmation the date is achievable.