mzkwcim.net projekt Swimtopia

Gotowy produkt po fazie pilotażowej

Swimtopia

Swimtopia to system dla trenera pływania, który wyrósł z arkuszy, raportów i potrzeby zobaczenia całego procesu treningowego w jednym miejscu: od planu sezonu, przez obecność i wykonanie zadań, po statystyki zawodnika i grupy.

Obecnie działa w ograniczonym zakresie — korzysta z niej trenerka koordynatorka, a pełniejsze wdrożenie w sekcji planowane jest na wrzesień.

Dashboard trenera w Swimtopii

Skąd wziął się pomysł

Nie brakowało narzędzi. Brakowało jednego miejsca.

Przed Swimtopią miałem już wiele rozwiązań: arkusze obecności, raporty, osobne automatyzacje i narzędzia do konkretnych zadań. Problem polegał na tym, że każde z nich działało osobno.

Z czasem takie podejście przestawało być wygodne w codziennej pracy. Arkusze były dobre do wpisywania danych, ale słabe do głębszej analizy. Google Apps Script pomagał automatyzować powtarzalne czynności, ale miał swoje ograniczenia, między innymi czas wykonania skryptów i trudność pracy na coraz większej ilości danych.

Najbardziej brakowało mi raportów, które pokazują pełniejszy obraz: kto ile przepłynął w konkretnej strefie, jak wyglądają proporcje pracy względem planu, co zmieniła nieobecność zawodnika i jakie trendy pojawiają się w kolejnych tygodniach.

Problem

Arkusze pokazywały fragment obrazu

W arkuszach dało się zapisać obecność, kilometraż albo proste podsumowanie. Trudniej było jednak zobaczyć cały proces: plan, wykonanie, frekwencję, styl pracy, strefy i rozwój zawodnika w czasie.

Przy większej liczbie danych brakowało też wygodnego UI do zarządzania całym procesem. Arkusz dobrze obsługuje jedną tabelę. Swimtopia miała obsłużyć pracę trenera jako całość.

Dla kogo

Koordynator, trenerzy i zawodnicy

Najwyżej w aplikacji jest koordynator, który widzi całość i zarządza pracą sekcji. Trenerzy prowadzą treningi, obecność i analizę. Wybrani zawodnicy mają swoje konta i ograniczony dostęp do danych, które ich dotyczą.

Projekt jest przygotowany tak, żeby mógł działać nie tylko dla jednej grupy, ale potencjalnie również dla wielu klubów.

Co robi system

Od planu sezonu do Pływaka 360

DashboardPokazuje, kto wymaga uwagi, jak wygląda kilometraż i rozkład zadań.
TreningiJednostki treningowe zbudowane z bloków, zadań, stylów, stref i intensywności.
PeriodizacjaMakrocykle, mezocykle i mikrocykle jako kontekst dla planowania pracy.
Obecność i wykonanieObecność powiązana z treningiem oraz wykonanie liczone per zadanie i globalnie.
StatystykiFrekwencja, planowany i wykonany kilometraż, style, kategorie zadań, strefy i porównania.
Pływak 360Pełniejszy widok zawodnika: frekwencja, plan, wykonanie, testy, strefy i trendy.
Import wynikówOsobny proces importu wyników, który pomaga łączyć trening z danymi startowymi.
Role i grupyKoordynator, trener i zawodnik z różnym zakresem dostępu.
Lista treningów w Swimtopii
Treningi są zebrane w jednym miejscu, zamiast być rozproszone po arkuszach i osobnych narzędziach.
Edycja treningu w Swimtopii
Trener buduje trening z bloków i zadań, a dystans wynika z danych wpisanych w planie.

Planowanie treningów

Trening jako zestaw zadań, nie opis w jednej komórce

Trener tworzy trening, a data wybiera się automatycznie. W treningu dodaje zadania, określa ich typy, strefy, dystanse, style, intensywność i opis. Jednostka jest zbudowana z bloków, więc może być prosta albo bardzo szczegółowa.

System automatycznie liczy łączny kilometraż treningu. Rozróżnia też plan i wykonanie, dzięki czemu można później sprawdzić, ile pracy było zaplanowane, a ile faktycznie zostało wykonane.

Obecność i wykonanie

Dane z treningu są od razu gotowe do analizy

Obecność jest powiązana z konkretnym treningiem. Trener może szybko oznaczyć wszystkich jako obecnych, nieobecnych lub zwolnionych, a potem doprecyzować wykonanie zadań.

Wykonanie działa per zadanie, a system liczy z tego wynik globalny. Dzięki temu nie trzeba wybierać między prostą obecnością a dokładną analizą pracy — oba poziomy mogą istnieć obok siebie.

Obecność i rzeczywiste wykonanie treningu w Swimtopii
Obecność i rzeczywiste wykonanie są częścią jednego treningu, a nie osobnym arkuszem do późniejszego ręcznego łączenia.

Statystyki i raporty

Najważniejszy był szerszy obraz

Największą wartością Swimtopii są raporty i statystyki, których brakowało w arkuszach. System może pokazać frekwencję, planowany i wykonany kilometraż, rozkład pracy po stylach, kategoriach zadań i strefach.

Dzięki temu trener może sprawdzić nie tylko, czy trening się odbył, ale też jak wyglądała praca zawodnika albo grupy w czasie. Widać trendy, różnice między planem a wykonaniem oraz miejsca, które wymagają uwagi.

Dashboard

Kto wymaga uwagi

Dashboard jest głównym widokiem pracy. Pokazuje między innymi zawodników wymagających uwagi, kilometraż i rozkład zadań.

Chodziło o to, żeby trener nie musiał przeklikiwać kilku arkuszy, żeby zrozumieć, co dzieje się w grupie.

Pływak 360

Jeden profil zawodnika

Pływak 360 zbiera w jednym miejscu frekwencję, planowane i wykonane kilometry, style, strefy, testy oraz trendy zawodnika.

Dzięki temu trener nie patrzy tylko na pojedynczy trening, ale na szerszy obraz pracy zawodnika.

Statystyki stylów i stref w Swimtopii
Statystyki pokazują rozkład pracy, którego trudno pilnować ręcznie w arkuszach.
Pełny widok zawodnika w module Pływak 360
Pływak 360 łączy dane o zawodniku w jednym profilu, zamiast rozrzucać je po osobnych miejscach.

Technicznie

Jedna aplikacja zamiast kolejnych arkuszy

Technicznie Swimtopia składa się z backendu w FastAPI, frontendu w React/Vite, bazy PostgreSQL i środowiska uruchamianego w Dockerze. Do migracji używam Alembica.

Dostęp do aplikacji jest chroniony przez Cloudflare Access, a później użytkownik loguje się przez AD. O szczegółach infrastruktury nie piszę publicznie, bo aplikacja jest przeznaczona dla wybranych użytkowników.

Część związana z wynikami korzysta z osobnego procesu importu danych. Dzięki temu trening, obecność, wykonanie i wyniki mogą być częścią jednego szerszego obrazu.

Status

Gotowy produkt po fazie pilotażowej

Swimtopia jest gotowym działającym produktem po fazie pilotażowej. Obecnie korzysta z niej trenerka koordynatorka, a pełniejsze wdrożenie w sekcji planowane jest na wrzesień.

Aplikacja nie jest publicznie otwartą stroną. Dostęp jest kontrolowany i przeznaczony dla wybranych użytkowników.

Kolejny krok

Od arkuszy do pełnego systemu

Blogowa seria „Automatyzacja obecności” pokazuje wcześniejszy etap tej drogi: jak zaczęło się od Google Sheets, walidacji danych i raportów z Apps Script.