Gym software rebuilt from the ground up, then made fast

ThinkCRM’s gym, studio and clinic software had outgrown its old PHP codebase. We rebuilt it as one platform for many gyms, with web, mobile and admin apps, then tuned it by measuring where it was slow.

Client
ThinkCRM
Sector
Health & fitness
Kind of work
MobileWebOps

The situation

ThinkCRM sells gym, studio and clinic software in Cyprus and Greece. The platform runs memberships, bookings, a point of sale, door access by phone and Greek tax reporting, for owners, staff, trainers and members on web and mobile.

What made it hard

Gyms trade every day. The rebuild had to keep every feature of the old system, import each gym’s history, file tax documents correctly, and open the door when a member taps their phone.

What we did

  1. Rebuilt the platform as one TypeScript codebase: an API, a web app, and member and staff apps. Every business record carries its gym, enforced in one place on every request.
  2. Kept Greek tax reporting (myDATA) and VAT lookup, and added accounting export, Viva payments, SMS and push messages, Apple Wallet passes and tap-to-enter from the member’s phone.
  3. Imported each gym’s old data, with a row-by-row check against the source.
  4. Measured before tuning, then fixed the slow parts the measurements showed, from the revenue dashboard to the member feed.
  5. Load-tested the platform with a large synthetic set of gyms, members and check-ins.
  6. Shipped every item from a client review meeting in one release the next day.
  7. Backed it with automated tests and end-to-end browser suites.

Before and after

BeforeAfter
Old PHP, one gym at a timeOne platform for many gyms
A slow revenue dashboardThe dashboard rebuilt from measurements
A heavy member feedA lean feed that serves more members
Door access by cardTap-to-enter from the phone

What we would do differently

Shipping every client item in one day showed us where speed needs a safety net: a few database migrations landed out of order and had to be reissued the same week. Every client item is now checked end to end on staging before we call it done.

Built with

TypeScript · NestJS · Next.js · React Native · PostgreSQL · BullMQ

Ready to build something great?

Tell us what’s breaking, or what you need built. You talk to the engineer who does the work.