Try it out here: https://fitbod-report.streamlit.app/
A Streamlit-based web application that processes workout data exported from the Fitbod app, generating detailed or summary reports in markdown and PDF formats. The tool provides weekly summaries, exercise progression tracking, and comprehensive workout analytics designed to be easily understood by both humans and AI tools.
The tool was primarily created to make Fitbod data more AI-friendly. The generated markdown reports can be easily fed into tools like ChatGPT, Claude, or Gemini to:
- Analyse workout patterns
- Get personalised recommendations
- Identify areas for improvement
- Build new workout plans based on historical data
- Compare/Build your routines with reference fitness books/programs
Privacy First: No data storage - everything is processed in your browser.
-
Interactive Web Interface:
- Easy-to-use Streamlit dashboard
- File upload functionality
- Date range selection
- Real-time report preview
-
Flexible Report Options:
- Generate both detailed and summary reports
- Support for metric and imperial units
- Export to Markdown or PDF format
- AI-friendly structured output
-
Comprehensive Analytics:
- Weekly training summaries
- Exercise-specific breakdowns
- Week-over-week progress tracking
- Set-by-set progression analysis
- Warmup vs working set distinction
- Exercise-specific statistics
- Python 3.8 or higher
- UV package manager (for local development)
Simply visit https://fitbod-report.streamlit.app/ - no installation required!
- Install UV if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Clone this repository:
git clone https://github.com/rhnfzl/fitbod-report.git
cd fitbod-report
- Install dependencies using UV:
uv pip install -e .
For development, install additional dependencies:
uv pip install -e ".[dev]"
-
Streamlit Cloud (Recommended):
- Visit https://fitbod-report.streamlit.app/
- Upload your Fitbod export CSV file
- Select your preferences and generate reports
-
Local Development:
uv run start
This will start the web interface at http://localhost:8501
- Export your Fitbod data:
- Open Fitbod app
- Go to Log (lower right)
- Click Settings (cog in upper right)
- Scroll down to "Export Workout Data"
- Save the CSV file
The CSV file should contain the following columns:
Date
: Workout date and timeExercise
: Exercise nameReps
: Number of repetitionsWeight(kg)
: Weight in kilogramsDuration(s)
: Duration in secondsDistance(m)
: Distance in metersIncline
: Incline settingResistance
: Resistance settingisWarmup
: Whether it's a warmup setNote
: Any additional notesmultiplier
: Exercise multiplier
fitbod-report/
├── app.py # Streamlit web application
├── pyproject.toml # Project configuration and dependencies
├── requirements.txt # Legacy requirements file
└── src/
├── data/ # Data processing modules
├── pdf/ # PDF generation
└── report/ # Report generation logic
This project is licensed under the MIT License - see the LICENSE file for details.
- ftbod for the initial data summary report