Custom workout builder and history tools for SmartGym / Speediance-style training workflows.
Originally based on Unofficial Speediance Workout Manager by hbui3.
This project has since been substantially modified for personal SmartGym workout management, workout building, history analysis, exports, and metric/unit handling.
This project may continue to function as long as the API remains accessible, but is subject to the same limitations described above. Use at your own risk.
If this project helps you, sponsorship is appreciated but never required.
- History detail totals fixed - workout detail headers now use the same duration, calories, and volume shown in the history listing
- Preset saving fixed - preset ID
0is preserved when saving and editing workouts, preventing Warm Up-style presets from being saved as Customize - Preset regression coverage - unit coverage now verifies preset IDs
-1,0,1,3, and5pass through to the Speediance payload correctly
- Live stats bar — shows total exercises, estimated volume, total time, and rest time as you build
- Move to top / bottom buttons — quickly reorder exercises without repeated dragging
- Redesigned header — two-row layout with stats aligned to the right for a cleaner look
- Est. Burn chip — displays estimated calorie burn alongside other stats
- Target Muscles radar chart — visual breakdown of which muscle groups your workout covers
- Vita exercise support — correctly handles Vita exercises (level 1–10) in the builder and when saving
- Cardio/timed exercises — time input and dynamic preset dropdown work correctly for row, ski, and kcal modes
- Condensed workout cards — all key stats shown in a single line per exercise
- Full history page — view all past workouts with date, duration, calories, and exercise details
- Export options — download your workout history as a file
- Accurate timestamps — dates display in your local timezone rather than a fixed region
- Workout count — heading shows how many custom workouts you have at a glance
- Improved layout — reorganized and sorted for easier navigation
- Day offset correction — calendar highlights the correct day regardless of your timezone
- Debug panel — floating button reveals the last raw API response, useful for troubleshooting connection or data issues
- Accurate LBS storage — weights entered in Imperial are stored and retrieved correctly without incorrect unit conversion being applied
A docker-compose.yml template is included for running the app in a container.
Before starting, edit the volumes path to point to the folder where you unzipped or cloned this repository:
volumes:
- /path/to/your/app:/app- Windows example:
/c/Users/yourname/Downloads/SmartGymWorkoutManager - Linux / Synology NAS example:
/volume1/docker/smart-gym-app
Then run:
docker compose up -dThe app will be available at http://localhost:5001.