The brief
Growing by acquisition, one mismatched website at a time.
Each club IronForge acquired came with its own website: different builders, different branding, one running on a founder's personal hosting account. Timetables were PDFs, some months out of date. And joining meant physically walking in, where the front desk would photocopy a form and key it into the member system later.
The owners could see what it cost them. People decide to join a gym at 10pm on their sofa, not at lunchtime near the front desk. Every evening of motivation that couldn't become a membership on the spot was a member lost to whichever chain had a "Join now" button.
The build
One platform that knows it's five different clubs.
We built a single TypeScript platform serving all five clubs (one codebase, one member database, one place to update a timetable) while letting each club keep its own character: its coaches, its schedule, its photography. The brand reads as one family; the clubs stay themselves.
Joining became a two-minute flow: pick a club, pick a plan, pay with Stripe, and you're a member. Direct debits, upgrades, freezes and cancellations are all self-serve. Class booking went live with real-time capacity, so the 6am strength class fills online overnight instead of via a paper list at the desk.
The part nobody sees mattered most: admin tools the front-desk staff actually like. We piloted at the flagship club in week six, let the staff break it for a fortnight, and folded their fixes into the rollout across the other four.
“We signed up members at 2am on Boxing Day. That sentence was impossible last year.”
The result
Memberships now sell while the clubs sleep.
Online sign-ups tripled within the first quarter, and a third of them complete outside opening hours, memberships the old setup could never have captured. Class attendance rose too, simply because booking stopped being a phone call.
For the owners, growth stopped being a web-development problem. When club six joins the family, it's a configuration change, not another website.