Typical dashboards only track reps, loads, and times. CrossFitters encode the real context in notes: scaled weights, band colors, substitutions due to injuries, and fueling and sleep. This project builds an agentic system that parses messy workout notes into structured exercise-level stats, insights, and personalized recommendations in real time.
What challenges or difficulties have I faced with this project?
Workout apps miss context from notes, scaling, and lifestyle data.
What steps did I take to deal with a complication?
LLM-powered agents parse notes and personalize recommendations.
How did my challenges eventually come to a resolution?
Smarter tracking, adaptive plans, and coach-like feedback.
Most fitness apps record only top-line metrics. For many athletes, especially in CrossFit, the nuance lives in free-text notes: scaling choices (e.g., push-ups on the knee vs. strict), band colors for pull-ups (red/green/blue), substitutions due to injury, combinations of exercises that change the difficulty, and daily readiness signals (sleep, nutrition).
Designed an agentic ML pipeline that:
The agent avoids brittle custom parsers. The planner examines the historical structure and composes specialized LLM executors that extract loads/reps, variants (knee push-ups, band colors), substitutions, and readiness. It also maps linked exercises (e.g., heavy squats linked to posterior-chain assistance).
You are a sports data extractor. Given raw notes, output JSON with:
- exercises[]: { name, variant?, sets[], reps[], load[], linked_exercises[], insights[] }
- readiness: { sleep_h, hrv_state, nutrition_summary }
- flags[]: substitutions, injuries, scaling
Follow the schema strictly.
If sleep < 6.5h OR HRV low: cap intensity at ~80% 1RM, prefer volume @ RIR 2.
If prior session high fatigue + same muscle group today: reduce load by 5–10%.
If band pull-ups @ green ≥ 5x5 for 2+ weeks: test red band singles.
Use user's goal horizon to set weekly progression (micro 2.5–5 lb).