MaxLift Tracker is a mobile-friendly web application designed to help you track your weightlifting progress and personal bests. Since this is designed to be saved to your home screen as a Progressive Web App (PWA) your data stored locally. No app store, no logins, full control over your data; just a simple secure mobile app.
Just want to use the app: Try it out and save to you device.
- Exercise Tracking: Log your current weight and reps for various exercises.
- Personal Bests: Automatically tracks and highlights your maximum weight for each exercise.
- Categorization: Organize exercises by muscle group (Chest, Back, Legs, Shoulders, Arms, Core, Other).
- History Log: View a detailed history of your logs for each exercise.
- Search: Quickly find exercises by name.
- PWA Ready: Prompts users to add to home screen for an app-like experience.
- Data Portability: Export and import your data as JSON files for backup and restore.
| Main Screen | Exercise Log & History |
|---|---|
![]() |
![]() |
- Node.js (v18 or higher recommended)
- npm
- Clone the repository:
git clone https://github.com/weissli/MaxLift.git
- Navigate to the project directory:
cd MaxLift - Install dependencies:
npm install
To start the development server:
npm run devThe app will be available at the port specified by Vite (usually http://localhost:3000 or similar).
To build the static files for production:
npm run buildThe output will be in the dist/ directory.
The project includes a deploy.sh script for deploying via FTP.
Configure your FTP details in a .env.deploy file:
FTP_HOST="your-ftp-host.com"
FTP_USER="your-username"
FTP_PASS="your-password"
REMOTE_DIR="your-remote-directory"Then run:
./deploy.shTests are written using Vitest. To run the tests:
npx vitest run
