training.cjarhodes.com

An AI-powered triathlon and CrossFit training platform built on Strava, Claude, and polarized methodology

Reads your Strava history, calculates your fitness and fatigue, and prescribes exactly the right session every day — while teaching you why.

Try the demo

Dashboard screenshot — add after first deploy

How it works

01

Connects to Strava

Syncs your activities and calculates fitness, fatigue, and form scores automatically — no manual logging.

02

Prescribes daily training

Claude generates workouts tailored to your data, soreness, and race goals using polarized methodology.

03

Exports to Garmin

Triathlon sessions download as .fit files and sync directly to your watch, ready to execute.

Sample output

What gets prescribed

Swim · TuesdayTSS 58

Aerobic threshold + catch drill set

What this trains

High-elbow catch mechanics at race pace. Builds the neuromuscular pattern for early vertical forearm before fatigue accumulates in the second half of a 70.3 swim.

CrossFit · TuesdayStrength focus

Back squat 5×3 @ 80% + accessory

Warm-up: 3 sets × 5 @ 60%, 70%

Working sets: 5×3 @ 96kg (80% of 120kg 3RM)

Accessory: 3×10 Bulgarian split squat, 3×12 GHD sit-up

Why today

Quads recovered, TSB neutral. Strength day before tomorrow's rest. Loading from tested 3RM — not 1RM.

The methodology

Polarized training for long-course athletes

Most training apps push athletes into the moderate-intensity trap — too hard to recover from, not hard enough to produce real adaptation. Polarized training fixes this: 80% of sessions in Zone 1–2 (easy, aerobic), under 5% in Zone 3 (deliberately avoided), and 15–20% in Zones 4–5 where actual fitness gains happen.

Every workout is generated fresh from your CTL, ATL, TSB, race proximity, and today's soreness — not pulled from a static plan. The programming changes when your data changes.

See it in the demo →

Built with

Next.jsSupabaseAnthropic ClaudeStrava APIVercelOpen-Meteo

training.cjarhodes.com