Hej.

One athlete.
One year.
One start line.

—Days
—Hours
—Minutes
—Seconds
Signed up · Aug 2026Race day
Start here

1.9 — 90 — 21.1

Green means go hard.
Yellow means stick to the plan.
Red means back off.

Welcome to Project 70.3. One body, one plan, one goal: a first triathlon finish in Småland. Readiness comes from Whoop, performance from Strava, the week from the coach, the fuel from the kitchen — synced from the source every morning.

  1. ReadinessToday
  2. PerformanceTrend
  3. TrainingPlan
  4. FuelWeek
  5. AthleteZones
  6. JönköpingRace
  7. DataAdmin
01 — Readiness

How ready
am I today?

Whoop decides the colour. Recovery sets it, HRV and resting heart rate explain it, sleep is the lever for tonight. Pick the window — today mirrors the app, thirty days is the honest baseline.

Josef
No data

Waiting for the first sync.

Green (≥67 %): go hard. Yellow (34–66 %): stick to the plan. Red (<34 %): back off, sleep, eat.

Recovery
—%
HRV
—ms
Resting HR
—bpm
Sleep
—h
Strain
—

As of — · showing 30-day average · targets: recovery ≥ 55 %, sleep ≥ 7.0 h.

02 — Performance

Is the engine
getting bigger?

The last three sessions straight from the watch — then the long view: volume, pace at an easy heart rate, and whether the weekly hours land in the 9–11 h window.

Last three sessions

via Garmin → Strava
Waiting for the first sync.

Monthly run volume

km · Strava

Pace at HR 150–165

min/km · quarterly

Weekly training hours

target 9–11 h
03 — Training

Win
the week.

The coach's week, as prescribed: every session with its slot, sport and duration. Ticked off as the week unfolds — a new plan lands every Monday.

Week — 0/0 sessions · 0 %
No plan uploaded yet.

Coached by KickassSports via AZUM · overview only, the full prescriptions stay in the app.

Zone 2 discipline

Runs under the coach's Ga1 cap of 150 bpm — one hard run a week is the budget, the rest stays easy.

Waiting for the first sync.
04 — Fuel

Eat like
it's training.

Calories follow the training: a deficit on rest days, full supply on double days, 160 g of protein every single day. Carbs in the bottle during the long sessions.

Week —
No nutrition plan uploaded yet.
Protein · every day
—g
non-negotiable
Carbs in the bottle · this week
—g
during bike and swim sessions
Cooking rhythm
Building blocks
Fueling in training
Recipes
Shopping list
05 — Athlete

Who is
doing this?

Ten years under the bar, one year on the road, zero triathlons — so far. The zones come straight from the lab: spiroergometry on the treadmill, 17 Sep 2026.

ZonePurposeRunRideSwim

Provisional zones based on max HR 200.

Threshold HR (VT2 / LSHF)
Zone 2 cap (bpm)
06 — Jönköping

Somewhere in
Sweden, a lake
is waiting.

Ironman 70.3 Jönköping · 11 July 2027. Småland, midsummer light, and a lake so clear you can count the stones.

1.9 km swim in one of Europe's clearest lakes, 90 km through Småland, and a half marathon along the shore of Vättern with the whole town out on the course.

The course
  • SwimLake Vättern · rolling start1.9 km
  • BikeThrough Småland's forests90 km
  • RunLaps along the waterfront21.1 km
The project
  • Signed upAugust 2026
  • Race morning11 July 2027 · 07:00
  • Progress—
  • Countdown— days
07 — Data

Synced.
Every
morning.

Whoop and Strava flow in server-side — automatically around 8:00 every morning, or on demand. Tokens live encrypted on the server; visitors only ever see the published numbers.

Whoop

Not connected

Recovery, HRV, resting heart rate, sleep and strain for the last 30 cycles.

Strava

Not connected

All activities since 2024 — distance, time, heart rate.

Training plan

No plan

Drop the weekly AZUM plan PDF here. The server reads the overview (day, slot, sport, title, duration) and publishes it — nothing else leaves the file.

Nutrition plan

No plan

Drop the weekly nutrition plan as a Markdown file. Days, meals, recipes and the shopping list are parsed and published; recipes grow into an archive.

› ready.