A smart, command-line application that creates personalized workout plans. Input your fitness goals and constraints, and get a structured, printable program generated instantly.
Repository: https://github.com/evie-ho/python-workout-generator-
- Goal-Oriented Plans: Generate programs for Fat Loss, Muscle Gain, or Strength with auto-adjusted sets and reps.
- Adapts to Your Level: Tailors exercise selection and complexity for Beginner, Intermediate, or Advanced users.
- Flexible Scheduling: Creates splits for 3, 4, 5, or 6 workout days per week.
- Equipment Aware: Switch between Full Gym and Home Gym (dumbbell/barbell only) modes.
- Clean Data Management: Uses an extensible JSON exercise database for easy maintenance.
- Portable Output: Exports a finalized, well-formatted workout plan as a .txt file.
- Python 3.8 or higher
- Clone the repository:
git clone https://github.com/evie-ho/python-workout-generator-.git cd python-workout-generator- - Run the application:
python main.py
- Launch the application with
python main.py. - Follow the interactive prompts to enter:
- Client/Your Name
- Primary Training Goal
- Experience Level
- Available Days Per Week
- Equipment Access (Home or Full Gym)
- Choose to view the program in the terminal or save it immediately as a
.txtfile. - Open the generated
program_[name].txtfile for your printable workout plan.
python-workout-generator/ ├── main.py # Application entry point & CLI interface ├── generator.py # Core logic for program generation ├── models.py # Data classes (Exercise, WorkoutDay, Program) ├── data/ │ └── base_exercises.json # Exercise database ├── outputs/ # (Generated folder for workout files) └── README.md # This file
- Language: Python 3
- Paradigm: Object-Oriented Programming (using dataclasses)
- Data Storage: JSON
- Interface: Command Line Interface (CLI)
- Output: Plain Text (.txt) files
Ideas for extending the project:
-
Add a simple web interface using Flask.
-
Integrate exercise demonstration videos or GIFs.
-
Implement progress tracking for repeated use.
-
Allow for custom exercise entries.
-
GitHub: @evie-ho
-
Portfolio:[https://evieho.netlify.app/]
If this project helps you with your fitness journey, consider giving it a ⭐ on GitHub!