ProCoach
SaaS coaching platform for session management, enrollments, and payments
Project Overview
ProCoach is a SaaS platform where coaches create and manage sessions, and learners enroll and pay online. It supports multi-role workflows (coach, learner, parent), structured session lifecycle management, and secure Stripe-based payment handling.
Problem Statement
Coaching businesses relied on fragmented tools like spreadsheets and messaging apps, leading to missed enrollments, poor tracking, and inefficient workflows.
Architecture Overview
Next.js frontend communicating with Spring Boot backend via REST APIs. JWT-based authentication and role-based routing ensure secure access, with Stripe integration for payment workflows.
System Architecture
Next.js (App Router), TypeScript, Tailwind CSS, ShadCN UI, React Hook Form + Zod
REST APIs with structured service layer, error handling, and request validation
Java (Spring Boot) handling authentication, session management, and payment workflows
SQL database storing users, sessions, enrollments, and transactions
Key Features
Multi-role System
Separate dashboards and flows for coaches, learners, and parents.
Session Lifecycle Management
Create, publish, enroll, and manage sessions with scheduling support.
Payment Integration
Stripe-based payment flows with confirmation and failure handling.
Enrollment Flow
Multi-step form with validation, pricing logic, and user mapping.
Invitation System
Private sessions with invite-based access control.
Analytics Dashboard
Insights into enrollments, sessions, and user activity.
Engineering Challenges
Payment Consistency
Handled edge cases where payment succeeds but enrollment fails using verification and retry mechanisms.
Complex Forms
Managed multi-step form state and validation using React Hook Form.
State Management
Handled session lifecycle transitions and concurrent updates.
Impact
Replaced spreadsheet-based coordination with a unified digital workflow for session management
Stripe checkout integrated with enrollment confirmation โ handles payment failures and retries
Multi-step enrollment form handles 2,000+ monthly submissions with under 2% abandonment rate
Role-based system supports Coach, Learner, and Parent with separate dashboards and permissions