
Personal Trainer Management Platform
B2B SaaS platform for personal trainers with client & trainingmanagement
Tech Stack
Description
The application was designed as a full-featured B2B SaaS solution with two separate portals:
Admin Portal (Trainers):
- Complete client management with profiles, contact data, and training status - Intelligent plan editor with drag-and-drop for exercises
- Template library for reusable training and nutrition plans
- Automatic PDF generation for invoices and quotes
- Dashboard with KPIs and analytics
- Appointment calendar for consultations
- SEO - Custom Templating for public Blog & Recommendations Section
Client Portal:
- Responsive mobile app for accessing personal training plans
- Nutrition plans with shopping lists and recipes
- SMART Goals tracking with progress visualization
- Communication channel with trainer - Training diary
The application uses Next.js 15 with App Router for server-side rendering and API routes.
Supabase (PostgreSQL) serves as backend with row-level security for multi-tenant data isolation.
JWT-based authentication with Argon2 password hashing ensures highest security.
Special challenges included: - Multi-tenant architecture with strict data separation between trainers
- Complex plan creation with template system and personalization
- PDF generation both client-side and server-side - Real-time updates between trainer and client
Features
Intelligent Template System
Reusable training and nutrition plan templates with 1-click assignment to clients. Saves trainers an average of 2 hours per week in plan creation.
Automatic PDF Generation
Invoices and quotes are automatically formatted and exported as professional PDFs. Includes automatic numbering, client details, and payment terms.
SMART Goals Framework
Structured goal definition following SMART principles (Specific, Measurable, Achievable, Relevant, Time-bound) with visual progress tracking and regular check-ins.
Real-time Dashboard & Analytics
KPI overview with active clients, assigned plans, upcoming appointments, and revenue metrics. Visualization through Recharts for data-driven decisions.
Challenges
Multi-Tenant Architecture
The biggest challenge was implementing a secure multi-tenant architecture where each trainer can only see their own clients and data. This was solved through Supabase Row-Level Security Policies that guarantee data isolation at the database level.
PDF Generation
The requirement was PDF exportfor both trainers (desktop) and clients (mobile). This required two separate implementations: @react-pdf/renderer for server-side generation and html2pdf.js for client-side export. The challenge was ensuring a consistent design for both approaches.
Template System & Plan Creation
Creating a flexible template system that allows both predefined exercises and individual customizations required complex state management logic. The solution was a hierarchical data model with plan templates that serve as a foundation and can be personalized upon assignment.
Real-time Updates
For the client portal, changes to the training plan needed to be visible in real-time. This was solved through Supabase Real-time Subscriptions, which automatically send events to connected clients upon any database change.
Results
Deployment Linux Server - Docker Image
Learnings
- →Complex multi-tenant architecture with PostgreSQL and Row-Level Security
- →Supabase Real-time Subscriptions for live updates
- →JWT Authentication with Argon2 for production-grade security
- →Responsive design with mobile-first approach
- →Complex state management with nested plan structures
- →Email integration with Resend API
Gallery









