Haal het maximale uit trainingslogboeken met LiftShift
Als je naar de sportschool gaat en elke set zorgvuldig vastlegt in Hevy, Strong of Lyfta, is je waarschijnlijk één ding opgevallen. Mobiele trackers zijn geweldig in het verzamelen van ruwe data maar helpen je bijna nooit om er betekenisvolle inzichten uit te halen. Hoogstens toont de app een grafiek van één oefening over een maand en feliciteert je met een nieuwe one-rep max. Het echte probleem is dat het moeilijk is om te zien welke spiergroepen je consistent ondertraint, waar je een echte plateau hebt bereikt en je aanpak moet veranderen, en wat gewoon normale vermoeidheid is van de derde set.
Ik heb onlangs het open-source project LiftShift ontdekt. Het is een webtool voor diepgaande analyse van trainingslogboeken die direct in de browser draait en geen registratie vereist.
Wat het project kan doen
De kerngedachte is eenvoudig: je voert je export in of verbindt je account, en de app organiseert je workouts vanuit een sportperiodisatieperspectief.


Hier zijn de dingen die direct opvallen bij het verkennen van het dashboard:
- Spierheatmap. Een interactief lichaamsmodel toont de volumebelasting op elke spiergroep. Je kunt op een specifieke spier klikken en de oefeningen zien die die stimulus produceerden. Het algoritme berekent volumezones (MEV en MRV-drempels) aangepast voor trainingservaring en wijst een hypertrofiescore toe van 0 tot 100.
- Plateaudetectie. In plaats van een simpele gewichtstrend wijst de tool duidelijke statussen toe aan oefeningen: groei, plateau of achteruitgang. Het systeem onderscheidt tussen doodlopende plateaus (wanneer gewicht en reps volledig zijn gestagneerd) en golfachtige fluctuaties, en suggereert vervolgens een oplossing: voeg een rep toe, verminder het werkgewicht tijdens een deload-week, of verander het rep-bereik.
- Analyse van elke set. Je kunt elke vorige sessie openen en set-evaluaties bekijken. Het systeem identificeert normale vermoeidheid, te-abrupte gewichtssprongen, goed uitgevoerde drop sets of sets tot falen (AMRAP). Elke set krijgt een badge en direct advies voor je volgende workout.
- Data samenvoegen van verschillende apps. Als je jarenlang Strong hebt gebruikt en vervolgens bent overgestapt naar Hevy, breekt je geschiedenis meestal uit elkaar. Het project kan verschillende namen voor dezelfde oefeningen matchen, duplicaten verwijderen en alles aan elkaar breien tot één enkele tijdlijn.
- Export voor neurale netwerken. Als de ingebouwde grafieken niet voldoende zijn, worden data geëxporteerd in een gestructureerd formaat voor prompts naar ChatGPT of Claude. Er zijn kant-en-klare modules: junk volume audit, zijbalanscontrole of gewrichtsbelastingsbeoordeling.
- GitHub-achtige kalenderheatmap. Je kunt duidelijk streaks, gemiste weken en consistentie voor het hele jaar zien.


Onder de motorkap
De projectarchitectuur is gericht op privacy. Alle berekeningen, CSV-parsing en grafiekrendering vinden client-side plaats.


De frontend is gebouwd op een moderne stack: React 19, TypeScript, Vite, Tailwind CSS en de Recharts-bibliotheek voor datavisualisatie. Een kleine Node.js backend met Express en Puppeteer wordt uitsluitend gebruikt als proxy voor API-aanroepen naar trackers zoals Hevy en Lyfta, waar browser CORS-beperkingen of autorisatie vereist zijn. Trainingslogboeken worden niet op de server opgeslagen.
Voor het werken met Strong worden CSV-bestandsimports ondersteund met puntkomma-scheidingstekens, aanhalingstekens en gewichtseenheid-achtervoegsels in headers.
Lokaal draaien
Als je het project op je machine wilt deployen of een aangepaste parser wilt schrijven, heb je maar een paar commando's nodig. Je hebt Node.js versie 22 of nieuwer nodig.
git clone https://github.com/aree6/LiftShift.git
cd LiftShift
npm install
npm run dev
Na opstarten opent de lokale server op Vite's standaardpoort.

Als je de publieke versie op de projectwebsite gebruikt, selecteer je gewoon je platform, upload je een CSV of plak je je API-sleutel, geef je je eenheden op (kg of pounds) en ga je naar het dashboard.
Een klein detail: bij exporteren uit Hevy moppert de app soms over datumnotaties. Dit komt door een niet-Engelse locale in de bronapp. Schakel de exporttaal tijdelijk naar Engels:

Voor wie het project bedoeld is
LiftShift vult perfect de kloof tussen eenvoudige sportschoolnotitieboeken en complexe trainersspreadsheets in Excel. Als je te lui bent om handmatig tonnage per spiergroep te berekenen en onbalansen op te sporen, doet de webclient het in een paar seconden.
Het project wordt gedistribueerd onder de AGPL-3.0-licentie. De codebase is clean, geschreven in strict TypeScript, dus als je ondersteuning wilt toevoegen voor je favoriete fitness-tracker of nieuwe periodisatiemetrieken wilt implementeren, is bijdragen hier best prettig.
Gerelateerde projecten