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.
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
- 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.
- 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.
- Imported each gym’s old data, with a row-by-row check against the source.
- Measured before tuning, then fixed the slow parts the measurements showed, from the revenue dashboard to the member feed.
- Load-tested the platform with a large synthetic set of gyms, members and check-ins.
- Shipped every item from a client review meeting in one release the next day.
- Backed it with automated tests and end-to-end browser suites.
Before and after
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.
