Real caseIn production since Feb 2026Custom software
Wecan Studio: the app that replaced WhatsApp, Excel and notebooks at a training studio
A PWA built from scratch for Wecan Health Studio, a small-group training studio. Bookings, waitlist, workouts and payment management in one tool, used every day by clients and trainers.
Client app · demo data · The app runs in Portuguese.
159
Active clients
12,500
Bookings
5,600
Check-ins
5,800
Workouts created
1 month
to MVP · stable in 2
What hurt
A small-group personal training studio with three trainers. The studio didn't know what it needed, but it knew what hurt.
Trainers spent much of the day on the phone handling bookings and cancellations.
Clients called to book, cancel or check whether a spot had opened.
With no view of open spots, they couldn't fit in more clients.
Workouts written on paper, slow to prepare and with no history.
Payments and commissions kept in Excel sheets and notebooks.
The diagnosis
The problem wasn't "the lack of an app".
It was trainer time spent on logistics instead of training, and studio capacity wasted for lack of visibility. That's where the product started: bookings and the waiting list first, then workouts, and payment management only at the end.
Three client types (recurring, flexible, one-to-one PT), capacity shared across overlapping classes, booking and cancellation windows, make-up credits.
Client app · waitlist
02
Waitlist with push notifications
When a spot opens, everyone eligible is notified and the first to book gets it. The list clears itself when it no longer applies.
Trainer area · absences
03
Trainer absences
Holidays and absences cancel the affected classes and give clients credits, depending on the client type and the type of absence.
Trainer area · class with check-ins
04
Studio check-in
A tablet in kiosk mode, no login: members tap their name and get a personalised message. A TV shows the workout of the day, so phones and paper stay off the floor.
Trainer area · building a workout
05
Workouts with history
Trainers log workouts in the app and members check their own history. No more paper.
Admin area · recording a payment
06
Payment and commission management
Clients pay outside the app; in the app, the team marks who has paid. Late-payment tracking with a grace period, commissions calculated from the recorded payments, studio expenses and per-trainer statistics.
Client app · rebooking a class
In the studio
Eachmember'sworkoutonthestudioTV.
In the app, the trainer picks which members appear on the TV. Each one sees their own workout in a column, with no paper or phones on the floor.
From the app to the TV · demo dataWecan Health Studio · TV showing demo data
The hardest rule
Never more than five people training at once.
Classes last 45 minutes and can start every 15 minutes, so they overlap. Capacity isn't per class: there are at most five people in the studio in any quarter of an hour, even if they arrive at different times. A one-to-one PT session takes the whole capacity, and no one can book a class that overlaps it. The rules run on the server, in SQL functions, so two simultaneous bookings never go over the limit.
18:0018:1518:3018:4519:0019:1519:3019:45Class 18:002 peopleClass 18:152 peopleClass 18:301 personOne-to-one PTTakes all 5 placesIn the studio24531555
Capacity of 5. At 18:30 there are five people from three different classes in the studio, and no class that runs through that quarter of an hour takes more bookings. The 19:15 one-to-one PT session takes all five places for 45 minutes.
Result
Clients book, cancel and join the waiting list on their own. Trainers stopped managing the schedule by phone and now see the studio's real capacity.
Workouts live in the app, with history. A single tool, used every day, built around the process instead of the studio adapting to generic software. Eight months of new features requested by the studio: waiting list, commissions, welcome messages.
Stack and process
Frontend
React · TypeScript · Vite · Tailwind · React Query