srustik123 commited on
Commit
69ec83c
Β·
verified Β·
1 Parent(s): 1b9ad38

Create AI_fitness_generator

Browse files
Files changed (1) hide show
  1. src/AI_fitness_generator +130 -0
src/AI_fitness_generator ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+
3
+ st.set_page_config(page_title="FitPlan AI", layout="centered")
4
+
5
+ # ---------------- SESSION STATE ----------------
6
+ if "step" not in st.session_state:
7
+ st.session_state.step = 1
8
+
9
+ # ---------------- STEP 1: LANDING PAGE ----------------
10
+ if st.session_state.step == 1:
11
+ st.title("πŸ’ͺ FitPlan AI")
12
+ st.subheader("Your Personalized Fitness Plan Generator")
13
+
14
+ st.markdown("""
15
+ Welcome to **FitPlan AI** πŸš€
16
+ Get a customized workout plan based on:
17
+ - Your fitness profile
18
+ - Your goals
19
+ - Available equipment
20
+ """)
21
+
22
+ if st.button("Generate My Plan"):
23
+ st.session_state.step = 2
24
+
25
+ # ---------------- STEP 2: FITNESS PROFILE ----------------
26
+ elif st.session_state.step == 2:
27
+ st.title("πŸ‘€ Your Fitness Profile")
28
+
29
+ age = st.number_input("Age", min_value=10, max_value=80)
30
+ gender = st.selectbox("Gender", ["Male", "Female", "Other"])
31
+ weight = st.number_input("Weight (kg)")
32
+ height = st.number_input("Height (cm)")
33
+ experience = st.selectbox(
34
+ "Fitness Level",
35
+ ["Beginner", "Intermediate", "Advanced"]
36
+ )
37
+
38
+ if st.button("Next"):
39
+ st.session_state.profile = {
40
+ "age": age,
41
+ "gender": gender,
42
+ "weight": weight,
43
+ "height": height,
44
+ "experience": experience
45
+ }
46
+ st.session_state.step = 3
47
+
48
+ # ---------------- STEP 3: SELECT GOAL ----------------
49
+ elif st.session_state.step == 3:
50
+ st.title("🎯 Select Your Goal")
51
+
52
+ goal = st.radio(
53
+ "Choose your fitness goal:",
54
+ ["Increase Flexibility 🧘",
55
+ "Build Muscle πŸ’ͺ",
56
+ "Weight Loss / Get Lean πŸ”₯"]
57
+ )
58
+
59
+ if st.button("Next"):
60
+ st.session_state.goal = goal
61
+ st.session_state.step = 4
62
+
63
+ # ---------------- STEP 4: SELECT EQUIPMENT ----------------
64
+ elif st.session_state.step == 4:
65
+ st.title("πŸ‹οΈ Select Available Equipment")
66
+
67
+ equipment = st.multiselect(
68
+ "Select equipment you have access to:",
69
+ [
70
+ "Dumbbells",
71
+ "Barbell",
72
+ "Resistance Bands",
73
+ "Treadmill",
74
+ "Stationary Bike",
75
+ "Bench Press",
76
+ "Pull-up Bar",
77
+ "Kettlebells",
78
+ "Leg Press Machine",
79
+ "Cable Machine",
80
+ "Smith Machine",
81
+ "No Equipment (Bodyweight Only)"
82
+ ]
83
+ )
84
+
85
+ if st.button("Generate Plan"):
86
+ st.session_state.equipment = equipment
87
+ st.session_state.step = 5
88
+
89
+ # ---------------- STEP 5: DISPLAY PLAN ----------------
90
+ elif st.session_state.step == 5:
91
+ st.title("πŸ“„ Your Personalized Fitness Plan")
92
+
93
+ st.subheader("Profile Summary")
94
+ st.write(st.session_state.profile)
95
+ st.write("Goal:", st.session_state.goal)
96
+ st.write("Equipment:", st.session_state.equipment)
97
+
98
+ st.divider()
99
+
100
+ # Simple frontend demo output
101
+ if "Build Muscle" in st.session_state.goal:
102
+ st.success("πŸ’ͺ Suggested Plan: 4-Day Strength Split")
103
+ st.markdown("""
104
+ - Day 1: Chest + Triceps
105
+ - Day 2: Back + Biceps
106
+ - Day 3: Legs
107
+ - Day 4: Shoulders + Core
108
+ """)
109
+
110
+ elif "Flexibility" in st.session_state.goal:
111
+ st.success("🧘 Suggested Plan: 5-Day Mobility Routine")
112
+ st.markdown("""
113
+ - Dynamic Stretching
114
+ - Yoga Flow
115
+ - Hamstring & Hip Mobility
116
+ - Shoulder Mobility
117
+ - Core Stability
118
+ """)
119
+
120
+ else:
121
+ st.success("πŸ”₯ Suggested Plan: 4-Day Fat Loss Program")
122
+ st.markdown("""
123
+ - HIIT Training
124
+ - Strength + Cardio Mix
125
+ - Core Workouts
126
+ - 30 min Daily Cardio
127
+ """)
128
+
129
+ if st.button("Start Over"):
130
+ st.session_state.step = 1