01
Problem
The business needed one system for athletes booking sessions, coaches managing schedules and player notes, and ownership tracking the business, without any group seeing more than it should.
02
Approach
Start from the workflows of each role, then build one platform with three portals on a shared database rather than three separate tools.
03
Design decisions
- Three role-specific dashboards instead of one interface with hidden buttons
- Booking is driven by coach availability and location, so athletes only see slots that exist
- A public preview of the athlete dashboard with sample data, so families can see the product before creating an account
04
Technical build
- Next.js App Router on Vercel with automatic deploys on every push
- Supabase Postgres with row-level security policies isolating athletes, coaches and admins
- Stripe Checkout with a webhook that keeps payment status in sync with bookings
- Rate limiting with Upstash Redis and schema validation with Zod
- Transactional email through Resend
05
Outcome
The platform runs FuturePro's booking and coaching workflow end to end and is live at futureprosoccer.com.

