Problem
As the number of athletes, groups and training cycles grew, spreadsheets made it harder to maintain consistent planning, attendance and execution records. Reporting required repetitive manual work.
Solution
Swimtopia organizes seasons, groups, athletes, training sessions and reporting in a consistent data model. It connects workflows needed for everyday coaching.
Architecture
A React interface communicates with a FastAPI backend. PostgreSQL stores structured data. Services are containerized, with protected access controlled through Cloudflare Access.
What it covers
- Season, microcycle and training-session planning.
- Attendance, workload and task-completion tracking.
- Individual and group reporting.
- Phased integrations for performance and testing data.
- Access management and athlete data protection.
Key takeaways
The central challenge was building a consistent data model that supports both daily coaching operations and long-term progress analysis.