>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
TypeScript

Jak w pełni wykorzystać dzienniki treningowe dzięki LiftShift

LiftShift Logo

Jeśli chodzisz na siłownię i starannie zapisujesz każdą serię w aplikacjach Hevy, Strong czy Lyfta, prawdopodobnie zauważyłeś jedną rzecz. Aplikacje do śledzenia treningów świetnie zbierają surowe dane, ale niemal nigdy nie pomagają je zrozumieć. W najlepszym razie aplikacja pokazuje wykres jednego ćwiczenia w ciągu miesiąca i gratuluje nowego maksimum jednokrotności. Prawdziwy problem polega na tym, że trudno dostrzec, które partie mięśni systematycznie niedostatecznie trenujesz, gdzie osiągnąłeś prawdziwe plateau i musisz zmienić podejście, oraz co to zwykłe zmęczenie po trzeciej serii.

Ostatnio odkryłem projekt open-source LiftShift. To narzędzie webowe do szczegółowej analizy dzienników treningowych, które działa bezpośrednio w przeglądarce i nie wymaga rejestracji.


Co potrafi ten projekt

Główna idea jest prosta: przekazujesz aplikacji swój eksport lub łączysz konto, a ona porządkuje Twoje treningi z perspektywy periodyzacji sportowej.

UI Screenshot 1

UI Screenshot 2

Oto rzeczy, które od razu rzucają się w oczy podczas eksploracji panelu:

  • Mapa cieplna mięśni. Interaktywny model ciała pokazuje obciążenie objętościowe każdej grupy mięśniowej. Możesz kliknąć konkretny mięsień i zobaczyć ćwiczenia, które wywołały ten bodziec. Algorytm oblicza strefy objętości (progi MEV i MRV) dostosowane do poziomu doświadczenia treningowego i przypisuje wynik hipertrofii od 0 do 100.
  • Wykrywanie plateau. Zamiast prostego trendu wagowego, narzędzie przypisuje ćwiczeniom jasne statusy: wzrost, plateau lub spadek. System rozróżnia ślepe plateau (gdy ciężar i powtórzenia całkowicie stanęły w miejscu) oraz wahania falowe, a następnie sugeruje rozwiązanie: dodaj powtórzenie, zmniejsz ciężar podczas tygodnia odciążenia lub zmień zakres powtórzeń.
  • Analiza każdej serii. Możesz otworzyć dowolną przeszłą sesję i zobaczyć oceny serii. System identyfikuje normalne zmęczenie, zbyt gwałtowne skoki ciężaru, dobrze wykonane serie z obniżeniem lub serie do upadku (AMRAP). Każda seria otrzymuje badge i bezpośrednią poradę na następny trening.
  • Łączenie danych z różnych aplikacji. Jeśli przez lata używałeś Strong, a potem przesiadłeś się na Hevy, Twoja historia zwykle się rozpaduje. Projekt potrafi dopasować różne nazwy tych samych ćwiczeń, usunąć duplikaty i połączyć wszystko w jedną oś czasu.
  • Eksport do sieci neuronowych. Jeśli wbudowane wykresy nie wystarczą, dane eksportowane są w ustrukturyzowanym formacie do promptów dla ChatGPT lub Claude. Dostępne są gotowe moduły: audyt zbędnej objętości, sprawdzenie równowagi stron lub ocena obciążenia stawów.
  • Kalendarz aktywności w stylu GitHuba. Wyraźnie widać serie treningów, pominięte tygodnie i konsekwencję przez cały rok.

UI Screenshot 3

UI Screenshot 4


Pod maską

Architektura projektu koncentruje się na prywatności. Wszystkie obliczenia, parsowanie plików CSV i renderowanie wykresów odbywają się po stronie klienta.

UI Screenshot 5

UI Screenshot 6

Frontend zbudowany jest na nowoczesnym stacku: React 19, TypeScript, Vite, Tailwind CSS i biblioteka Recharts do wizualizacji danych. Niewielki backend w Node.js z Express i Puppeteer służy wyłącznie jako proxy do wywołań API trackerów takich jak Hevy i Lyfta, gdzie wymagane są obejścia CORS przeglądarki lub autoryzacja. Dzienniki treningowe nie są przechowywane na serwerze.

Do pracy ze Strong obsługiwany jest import plików CSV z separatorami średnikowymi, cudzysłowami i sufiksami jednostek ciężaru w nagłówkach.


Jak uruchomić lokalnie

Jeśli chcesz wdrożyć projekt na swojej maszynie lub napisać własny parser, potrzebujesz zaledwie kilku poleceń. Wymagany jest Node.js w wersji 22 lub nowszej.

git clone https://github.com/aree6/LiftShift.git
cd LiftShift
npm install
npm run dev

Po uruchomieniu lokalny serwer otworzy się na standardowym porcie Vite.

Workflow Steps CSV Upload Analytics Filtering

Jeśli korzystasz z publicznej wersji na stronie projektu, po prostu wybierz platformę, prześlij plik CSV lub wklej klucz API, określ jednostki (kg lub funty) i przejdź do panelu.

Mały szczegół: podczas eksportu z Hevy aplikacja czasami narzeka na formaty dat. Dzieje się tak z powodu nieangielskiego locale w źródłowej aplikacji. Po prostu tymczasowo przełącz język eksportu na angielski:

Hevy Language Settings


Dla kogo jest ten projekt

LiftShift idealnie wypełnia lukę między prostymi notatnikami siłowni a złożonymi arkuszami kalkulacyjnymi trenerów w Excelu. Jeśli nie chcesz ręcznie obliczać tonażu na grupę mięśniową i szukać dysproporcji, klient webowy zrobi to w kilka sekund.

Projekt rozpowszechniany jest na licencji AGPL-3.0. Kod źródłowy jest czysty, napisany w rygorystycznym TypeScript, więc jeśli chcesz dodać obsługę swojego ulubionego trackera fitness lub zaimplementować nowe metryki periodyzacji, wkład w rozwój jest tu całkiem przyjemny.

Powiązane projekty