Ulai PilatesWellness · Pilates
A pilates studio that stopped running on spreadsheets
Payments, plan expiries, class capacity and timetables across several studios lived in spreadsheets. We built the platform on Next.js and Strapi where members buy their plans and book, and the studio manages every location from a single panel.

Results
- Operations left Excel
- 0 spreadsheets
- Payments, plan expiries, capacity, timetables and remaining sessions were kept across several sheets. Today they live in one system.
- Every location in one panel
- Multi-studio
- Each studio with its own schedule, instructors and capacity; management sees it all together and reports come out on their own.
- Plans bought and booked by the member
- Online
- Plan purchase through Mercado Pago, booking, cancelling and freezing, without going through the front desk or a chat.
- Automatic notifications
- WhatsApp + email
- Confirmations and reminders go out on their own through both channels. An assistant handles frequent questions on Instagram and WhatsApp.
What was there before
Ulai Pilates is a studio with several locations in Bogotá (for now). Until 2025 its website was a landing page with the plan details, and nothing else. Everything else happened outside it: payments came in cash, by card terminal or by bank transfer, and the operation (payments, plan expiries, timetables, instructors per studio, capacity, remaining sessions) was kept in spreadsheets that had to be kept up to date and reconciled with each other.
It worked thanks to the team’s daily effort, but every new location made it heavier. The studio had grown faster than its tools.
What they asked for was clear: for the studio to stop depending on those sheets, and for members to be able to sort out on their own what they currently sorted out by asking.
The platform
We built the system on Next.js and Strapi, deployed in Docker containers on infrastructure we manage ourselves. It is a web application, with no app to install: it is used from the phone’s browser, which is where people are when they book a class.
The underlying decision was for all the business logic to live in Strapi: studios, instructors, timetables, capacity, plans, payments and sessions. A single data model instead of sheets that had to be kept consistent with each other: each thing is recorded once and everything else follows from there.
Who does what
Members buy their plans as session packs and pay through Mercado Pago. With an active plan they book a class at whichever studio they prefer, cancel if they can’t make it and freeze the plan when they need to. They get notifications and reminders as they need them, through different channels such as WhatsApp and email, all automatically.
Management runs the schedules of every location from one panel, assigns instructors, sets capacity per class and sees which plans are expiring and how many sessions remain. They can also cancel or freeze on someone’s behalf when needed. The reports that used to be assembled by cross-referencing sheets now come straight out of the system.
The Instagram and WhatsApp assistant
Part of the manual work wasn’t in the sheets but in the chats: the same questions about timetables, prices and locations, answered again and again. We connected a conversational assistant to Instagram and WhatsApp to take those questions and leave the team the conversations that genuinely need a person. That is operating time freed up, which the studio can put into other parts of the business.
What comes next
The studio plans to keep opening locations, and the platform is built so that a new studio is one more record in the panel, not a new project. We will be there to support that growth: making the system ever more autonomous and adjusting it to whatever the business needs next.


