LiftShift
Analyze your workout logs from Hevy, Strong, Lyfta, and more, with actionable insights, interactive muscle heatmaps, plateau detection, AI-powered analysis, calendar filtering, shareable progress cards, and detailed exercise + muscle breakdowns, all for FREE.
Install / Use
/learn @aree6/LiftShiftREADME
Official Website
https://liftshift.app
UI Screenshots
<div align="center"> <img src="./frontend/public/images/misc/1.avif" alt="UI Screenshot 1" /> </div> <div align="center"> <img src="./frontend/public/images/misc/2.avif" alt="UI Screenshot 2" /> </div> <div align="center"> <img src="./frontend/public/images/misc/3.avif" alt="UI Screenshot 3" /> </div> <div align="center"> <img src="./frontend/public/images/misc/4.avif" alt="UI Screenshot 4" /> </div> <div align="center"> <img src="./frontend/public/images/misc/5.avif" alt="UI Screenshot 5" /> </div> <div align="center"> <img src="./frontend/public/images/misc/6.avif" alt="UI Screenshot 6" /> </div> <div align="center"> <img src="./frontend/public/images/misc/7.avif" alt="UI Screenshot 7" /> </div> <div align="center"> <img src="./frontend/public/images/misc/8.avif" alt="UI Screenshot 8" /> </div> <div align="center"> <img src="./frontend/public/images/misc/9.avif" alt="UI Screenshot 9" /> </div> <div align="center"> <img src="./frontend/public/images/misc/10.avif" alt="UI Screenshot 10" /> </div>Official Deployment
LiftShift has one canonical hosted instance:
- Canonical domain: https://liftshift.app
Deployments on any other domain are unofficial. Unofficial deployments may be modified and may not follow the same security practices. Do not assume an unofficial deployment is trustworthy with any credentials.
Attribution Requirement
Public deployments must include visible attribution to the upstream project.
Minimum acceptable attribution:
- Link to official site: https://liftshift.app
- Source link: a publicly accessible link to the Corresponding Source for the exact version running
Attribution must be reasonably discoverable during normal use (for example: footer, About modal, or Settings). Removing, hiding, or obscuring attribution is treated as non-compliance.
Quick Start
<div align="center"> <img src="./frontend/public/images/steps/Step1.avif" alt="Export data from Hevy app" width="200" /> <img src="./frontend/public/images/steps/Step2.avif" alt="Upload CSV to LiftShift" width="200" /> <img src="./frontend/public/images/steps/Step3.avif" alt="Explore analytics dashboard" width="200" /> <img src="./frontend/public/images/steps/Step4.avif" alt="Get real-time feedback and filter data" width="200" /> </div>- Select your platform (Hevy / Strong)
- Hevy: Choose your body type + weight unit, then Continue to login/sync (email+password or Pro API key), or import CSV. / Strong: Choose body type + unit, then import CSV
- Explore your analytics across Dashboard, Exercises, and History tabs
- Get insights with real-time feedback and flexible filtering
Strong CSV imports support common export variants, including:
- Semicolon-delimited (
;) files with quoted fields - Unit-suffixed headers like
Weight (kg)andDistance (meters)
Troubleshooting
If you see this error:
"We detected a Hevy workout CSV, but couldn't parse the workout dates. This usually happens when the Hevy export language isn't English. Please switch Hevy app language to English, export again, and re-upload."
Do the following:
- Switch your Hevy app language to English
- Export your workout CSV again
- Re-upload it to LiftShift
Features
- Dashboard Analytics - Volume trends, workout distribution, key metrics
- Exercise Tracking - Personal records, 1RM estimates, performance trends
- Trend Confidence - Trend insights include confidence and short evidence notes to reduce noisy recommendations
- History Visualization - Detailed workout logs with date filtering
- Set-by-Set Feedback - Real-time feedback on your performance (including rolling, fatigue-aware expected rep ranges)
- Session Goal Detection - Detects whether a session was Strength/Hypertrophy/Endurance/Mixed based on rep-zone distribution
- Local Storage - Data saved in your browser
- Theme Modes - Day (light), Medium dark, Midnight dark, Pure black, and Texture
PR Definitions
- PR: Best-ever weight for an exercise (shown with absolute change).
- Volume PR: Best-ever single-set volume for an exercise (
weight × reps, across all history; shown with percent change).
Local Development
This is intended for local development and contributor workflows. It is not a production deployment guide.
git clone https://github.com/aree6/LiftShift.git
cd LiftShift
npm install
npm run dev
Maintainer
- GitHub repo: https://github.com/aree6/LiftShift
- GitHub profile: https://github.com/aree6
- Email: mohammadar336@gmail.com
Support
If you find this project helpful, you can support it here:
- Buy Me a Coffee: https://www.buymeacoffee.com/aree6
- Ko-fi: https://ko-fi.com/aree6
Security Notice
- The only official deployment is https://liftshift.app.
- Any other domain is unofficial. Do not enter credentials into an unofficial deployment.
- LiftShift stores sync credentials locally in your browser (auth tokens, API keys, and login inputs). Passwords are encrypted at rest when the browser supports WebCrypto + IndexedDB.
