Case study: budowa aplikacji treningowej – od pomysłu na siłowni do działającego MVP

1️⃣ Skąd wziął się pomysł?

Pomysł na aplikację nie powstał przy biurku, tylko… na siłowni.

Razem ze znajomym zapisywaliśmy trening w jednej z popularnych aplikacji.

Szybko wyszło, że:

Rzuciłem wtedy pół-żartem:

„Przecież taką apkę to dziś można by zrobić na prompta”.

Chwila śmiechu, temat zamknięty.

…do wieczora.


2️⃣ Pierwsze podejście: AI + bolt.new

Tego samego dnia wrzuciłem prompta do bolt.new.

Ku mojemu zaskoczeniu:

Ale bardzo szybko wyszły problemy:

Wniosek był prosty:

👉 „Da się, ale można to zrobić lepiej.”


3️⃣ Decyzja: robimy to „normalnie”

Miałem już:

Uznałem więc, że:

To był moment, w którym projekt przestał być żartem.


4️⃣ Design – pierwszy „poważny” etap

Zacząłem od designu, ale nie „na oko”.

Jak do tego podszedłem:

Na start założyłem tylko najważniejsze ekrany.

Jak się później okazało – było ich za mało i kolejne dorabiałem już w trakcie developmentu.

Zrzut ekranu 2026-01-21 o 22.12.17.png Zrzut ekranu 2026-01-21 o 22.13.00.png Zrzut ekranu 2026-01-21 o 22.14.01.png

5️⃣ Planowanie flow aplikacji (bardzo ważny moment)

W bolcie wszystko było „na prompta”.

Tutaj musiałem poukładać projekt samodzielnie.

W FigJamie przygotowałem:

To był pierwszy moment, gdzie:

Zrzut ekranu 2026-01-21 o 22.17.29.png

6️⃣ Dokumentacja po feature’ach

Założyłem sobie jedną rzecz, której wcześniej nigdy nie robiłem:

👉 po każdym większym feature’ze – dokumentacja

Dlaczego?

To bardzo szybko się zwróciło.


7️⃣ Start developmentu – Codex + React Native CLI

Nie pisałem wszystkiego „z palca”.

Świadomie:

Tak jak księgowy nie liczy na liczydle, tylko używa Excela.

Jeśli wiem, co robię i robiłem to wcześniej – nie ograniczam się sztucznie.


8️⃣ Pierwszy commit – 10 grudnia 2025

Od tego momentu projekt realnie istnieje.

Stan na dziś (21 stycznia 2026):

ok. miesiąc pracy, ~2 dni w tygodniu


9️⃣ Architektura: Auth Gate vs App Gate

Od początku założyłem podział aplikacji na:

Co zrobiłem:

📌 Commit: 27 grudnia

(od 10 do 27 grudnia – przerwa, inne obowiązki)


🔟 Home screen i Workout Session (MVP)

Po zalogowaniu:

MVP workoutu:

Celem było:

👉 sprawdzenie, czy UI i flow mają sens

📌 Commit: 28 grudnia

IMG_2031.PNG IMG_2032.PNG IMG_2033.PNG

1️⃣1️⃣ Poprawki UX + ekran podsumowania

📌 Commit: 4 stycznia

To był moment „domykania” MVP UI.


1️⃣2️⃣ Powrót do rejestracji i bazy danych

Po UI wróciłem do:

Musiałem:

Chat pomógł mi:

📌 Commit: 5 stycznia

Zrzut ekranu 2026-01-21 o 22.24.38.png

1️⃣3️⃣ Profil użytkownika i historia treningów

📌 Commit: 6 stycznia

pełna historia:

To był pierwszy moment realnej pracy z danymi historycznymi.

IMG_2033.PNG IMG_2034.PNG IMG_2035.PNG

1️⃣4️⃣ Własne API ćwiczeń (kluczowa decyzja)

Do tej pory:

Szukałem API:

Decyzja:

👉 robię własne API

Na Vercelu:

Dzięki temu:

Zrzut ekranu 2026-01-21 o 22.31.19 1.png

1️⃣5️⃣ Integracja API + zmiana zapisu w bazie

Po dodaniu wyszukiwarki:

To był moment, gdzie frontend i backend musiały się „dogadać”.


1️⃣6️⃣ Plany treningowe (UI)

Cel: przygotowanie pod przyszły feature.


1️⃣7️⃣ Zapisywanie treningu + szczegóły historii

📌 Commit: 13 stycznia

Na tym etapie:

👉 aplikacja zamyka pełny cykl treningu


🔚 Podsumowanie etapu

Na dziś:

Dalszą część case study dopiszę po wydaniu aplikacji.