Case Study - Booking platform for coaches
Web application for connecting coaches with athletes, managing training sessions, and processing payments.
- Client
- CoachUp
- Year
- Service
- Web development
Overview
The personal training market needed a platform that simplified the connection between coaches and athletes. CoachUp solves this with a marketplace where coaches can list their services and users can discover, book, and pay for training.
The system handles the complexity of multiple actors: coaches managing their availability, athletes booking sessions, parents supervising minors, and administrators maintaining the platform.
What we did
- Next.js 15
- React 19
- Supabase
- Stripe
- Zustand
- Leaflet
- Fewer cancellations
- 70%
- More bookings/coach
- 3x
- User roles
- 5
- Automated payments
- 100%
Multi-role system
Five roles with differentiated permissions: Super Admin with full access, Admin for content management, Coach to create offers, Athlete to book sessions, and Parent to supervise minors' activities.
Each role has its own optimized dashboard. Parents can view their children's sessions, approve bookings, and monitor expenses. Coaches manage availability with a visual calendar.
Scalable architecture
Data Access Layer (DAL) separates data access logic. Server Actions handle business logic. Zustand manages global state. Zod validates schemas in forms with React Hook Form.
Integration with Leaflet and Mapbox allows visualizing coach locations and searching by geographic proximity.