A lightweight, single-page gym logging app — no account required, no server, runs entirely in your browser.
Live app: https://wemyssj.github.io/GymTracker-Project/
- Log weights and notes for each exercise across Push, Pull, and Leg days
- Tracks personal bests automatically
- View session history and progress over time
- Supports multiple users on the same device (e.g. gym partners)
- Exercise info cards with muscle diagrams and form tips
- Open the app and tap Settings (bottom nav)
- Under People, tap + Add person, enter a name and pick a colour
- To remove the default user, tap the delete icon next to their name
- Each user's data is stored separately in your browser
- Go to Settings → Exercises
- Use the dropdowns to select exercises for each day (Push / Pull / Leg)
- Choose Custom… at the bottom of any dropdown to type your own exercise name
- Tap + Add exercise to add a slot, or 🗑 to remove one
Your data lives in your browser's local storage. To back it up or share it across devices, use the built-in GitHub sync.
- Create a free GitHub account if you don't have one
- Create a new public or private repository (e.g.
gym-log) - Go to GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- Generate a token with the
reposcope — copy it immediately - In the app, go to Settings → GitHub Sync and fill in:
- Token — your personal access token
- Repo —
yourusername/gym-log - File path —
GymLog.json(or any filename you like) - Branch —
main
Tap Push to GitHub in Settings. Your full workout history is saved as a JSON file in your repo.
Tap Pull from GitHub to load your data back — useful when switching devices or browsers. Existing local data is merged, not overwritten.
If you prefer not to use GitHub:
- Export — go to Settings and tap Export JSON. A
.jsonfile downloads to your device. - Import — tap Import JSON and select a previously exported file to restore your data.
The app stores only the following in your browser's local storage:
- Your people's names and colours
- Your workout log (weights, notes, dates)
- Your chosen exercises and theme preferences
- Your GitHub sync settings (token, repo, branch) — stored locally on your device only, never sent anywhere except GitHub's own API
No analytics, no tracking, no third-party data collection. The only external resource loaded is the SheetJS library from cdnjs.cloudflare.com, used for Excel export.
Clearing your browser's site data for this page will erase everything — back up via GitHub sync or JSON export regularly.