Gym Progress Dashboard to analyse personal lifting metrics from the HEVY workout app.
HEVY is a workout tracking app I've been using to log exercises, sets, and reps in the gym. Whilst the app has been useful, it does have some downsides:
- Progress data is buried behind multiple menus on mobile
- Detailed stats are locked behind a paywall
- Metrics cannot be viewed on desktop
- Calories & macronutrients consumed cannot be tracked
This makes it very difficult to see the bigger picture of my progress. Therefore I built a data pipeline and Google Data Studio dashboard to rectify these issues. Centralising both workout & nutrition data now makes it easy to spot trends, track progress and make informed adjustments.
- Python - Data cleaning and transformation (Jupyter Notebook). Command line meal logging (log_meal.py)
- Supabase (PostgreSQL) - Cloud database for storing workout data
- SQL - Querying and structuring workout data
- Google Data Studio - Dashboard for visualising lifting metrics
Supabase was chosen for its free tier and native PostgreSQL support. Google Data Studio was chosen for its free access and direct PostgreSQL connector, which made it straightforward to build an interactive dashboard without additional code.
- Heaviest weight [per exercise]
- Total volume [per exercise] (weight × reps, summed across sets)
- One rep max (1RM) [per exercise]: Predicted maximum weight you could lift for a single rep, calculated using the Brzycki formula
- Calorie consumption [per day]: Total calories consumed across all logged meals
- Macros [per day]: Breakdown of protein, carbohydrates, and fats consumed across all logged meals
- Summary - Key lifts only (Incline Bench Press, Bent Over Row, Squat) with KPIs attached to each
- Nutrition - Calorie consumption, macros
- Push - Chest, shoulders, triceps
- Pull - Back, biceps
- Legs - Quads, hamstrings, calves, glutes
The dashboard is publicly viewable here: Gym Progress Dashboard.