TCS Toronto Marathon · Oct 18, 2026

Vikram's road
to sub 4:00

Training log, AI coaching, weather-aware clothing, and Garmin-powered race prediction — all built around one goal.

Weeks to race
5:40Goal pace /km
67Parkruns done
30.2Longest run (km) · Apr 12
22:02Parkrun PB · Apr 4
3:43–4:03Race prediction →
Baked in from upload processed Aug 23 · 246 activities
About this project

A personal tech project combining a love of running and AI. The training plan follows Jack Daniels' VDOT system (conservative VDOT 41), with paces and weekly plans generated from actual Garmin data — not theoretical targets. Clothing recommendations come from 117 logged winter runs across two Toronto seasons.

Next run
Loading...
Weather now
Loading conditions...
Training plan
This week
Run days: Tue · Thu · Sat (Parkrun) · Sun (long run)  ·  Strength: Mon · Wed · Fri  ·  Wed is flex run day if Tue/Thu missed
Live recalibration — from your last upload
Rule: peak long run = longest completed long run this cycle + 6km, capped at the original 32km template. Weekly volume ramps from your current trailing average toward a peak proportional to that.
Current base
29km/week
Peak long run
32km
Peak volume
54–59km
The day-by-day calendar below still reflects the last manually-set recalibration (Aug 19). These three numbers recompute automatically — if they drift from what the calendar shows, that's the signal it's time to hand-apply an update to the calendar too.
VDOT 41 — training paces (conservative)
ZonePace rangeFeel
Easy6:20–7:00/kmFully conversational · 80% of all running
Marathon5:40–5:50/kmControlled · can speak in sentences
Threshold5:10–5:30/kmComfortably hard · short phrases only
Interval4:55–5:10/kmHard · 800–1200m reps
Repetition4:30–4:50/kmFast · Parkrun PB lives here
Paces are conservative (VDOT 41) to account for Garmin wrist HR sensor error of ±5–10 bpm. Treat pace as a ceiling, not a target — use RPE as your primary real-time guide.
Strength log — Arnold's Pump Club
How to log a session
1. Finish your Pump Club workout
2. Take a screenshot of the exercise list screen
3. Drop the screenshot in a new chat with Claude and say "log my Pump Club session"
4. Claude parses the workout, classifies muscle groups, adds it to your calendar, and flags any conflicts with your run schedule
No API integration needed — the screenshot is enough. Claude reads exercise names, sets, reps, phase number, and date automatically.
Strength ↔ run conflict guide
Arnold's Pump Club doesn't know your run schedule. Use this as your personal conflict guide — when to do the full session, when to modify, when to skip leg work entirely.
Sunday — long run day skip all leg work
No strength on long run day. Full energy goes to the run. If you want to do something, upper body only — arms, shoulders, chest. Nothing below the waist.
Monday — day after long run modify leg work
Go by feel — if legs are heavy from the long run, modify or skip what feels wrong. You correctly bailed on Lunges on Apr 27. Trust that instinct.
Tuesday — easy run day full session OK
Easy run + full strength is fine — just do the run first, strength after. Or split them (run morning, strength evening). Don't do heavy leg strength before a run.
Wednesday — strength day full session OK
Wednesday is your dedicated strength day — do the full Pump Club session. If life forces a run onto Wednesday (flex day), do it in the morning and strength in the evening, or pick one.
Thursday — easy run day full session OK
Same as Tuesday — run first, strength after. If Pump Club hits legs hard on Thursday, consider doing upper body only on Friday's strength session to avoid carrying fatigue into Saturday's Parkrun.
Friday — strength only (no run) light legs only
Rest day from running but strength is fine. Keep it lighter than Monday/Wednesday — legs should feel fresh for Saturday Parkrun. If Pump Club serves heavy lunges or squats, do upper body only.
Saturday — Parkrun day no strength
Parkrun only. No strength before — legs need to be fresh. If you want to do something post-Parkrun, upper body only, very light.
Recent sessions — Pump Club log
Sessions parsed from screenshots. Add new ones by dropping a screenshot in chat.
Workout #13 · Phase 3 Apr 29 · 5:16pm
Legs + upper
BW Rear-Foot Elevated Split Squat 3×10 · BW Reverse Lunge 3×15 · BW Lunge 3×10 · BW IYT Raises 3×25 · Pushup 3×12/12/8
Thu Apr 30 run was easy 8.2km @ 6:34/km HR 125 — correctly dialled back. Good call.
Workout #12 · Phase 3 Apr 27 · 5:50pm
Lower body + core
Hip Raise 4×20 · Superman W 4×12 · Wall Sit 4×~41s · Bodyweight Lunge (bailed — day after long run ✓) · Crunch 3×20 · Chair Dips 2×20/15
Impact on next run: Hip Raises + Superman W are fine. Lunges correctly skipped. Thursday easy run unaffected.
Drop a Pump Club screenshot in chat → Claude parses it → session appears here
Weather & clothing — Streetsville, Mississauga
BL = Base Layer SS = Short Sleeve LS = Long Sleeve NB = New Balance (windproof) Blue = hooded (rain) Orange = all-rounder Kijiji = light layer
Live conditions
Loading...
Streetsville, Mississauga
Browse by temperature — 117 real runs
Go / no-go check
Planned run time
Run type
Race predictor — TCS Toronto Oct 18, 2026
Calculated predictions — from your real data
Ordered by recency and reliability — the Working Estimate is auto-recomputed on every upload and is the one to trust. The rest are kept below as reference points, roughly in order of how much weight they should carry.
Working estimate — auto-computed, built off your current fitness
3:43:13–4:02:38
Two-stage model, deliberately NOT anchored to last year's marathon or the April time trial — fitness changes too much over months for an old race to set today's baseline. (1) Base: your current best 5K, extrapolated using a marathon-distance fade rate that's typical for recreational runners in general (not derived from your specific race history). (2) That base is then adjusted by how your last ~2 months of volume, longest run, and aerobic HR efficiency compare to the same window a year ago — the actual "body of work" signal.
Wider range than before — without a recent race to calibrate against, this carries real uncertainty. Treat the trend below as more trustworthy than this specific number.
Current-fitness base: 4:16:03 · Recent-work adjustment: +9.0%
Working estimate over time
4:15:15 4:08:56 4:02:38 3:56:20 3:50:01 sub-4:00 goal 2026-05-25: 3:56:25 (reconstructed from historical data)2026-06-01: 3:57:12 (reconstructed from historical data)2026-06-08: 4:12:20 (reconstructed from historical data)2026-06-15: 4:09:43 (reconstructed from historical data)2026-06-22: 4:05:41 (reconstructed from historical data)2026-06-29: 4:10:55 (reconstructed from historical data)2026-07-06: 3:56:04 (reconstructed from historical data)2026-07-13: 4:07:51 (reconstructed from historical data)2026-07-20: 3:58:41 (reconstructed from historical data)2026-07-27: 3:55:28 (reconstructed from historical data)2026-08-03: 4:00:53 (reconstructed from historical data)2026-08-10: 3:53:09 (reconstructed from historical data)2026-08-23: 3:52:56 2026-05-25 2026-08-23
3:29 faster since 2026-05-25 · 13 data points
● Actual upload   ○ Reconstructed from historical data
2025 Marathon — historical result only
Not used to anchor the current estimate
~4:17:52
You ran 42.6 km @ 6:02/km · HR 154 on Oct 19, 2025.
Per your own read, and correctly so — fitness changes too much over 10 months for this to set today's baseline. Kept here as a fact of record, not as a prediction input. The legacy speed-scaling model derived from this race (4:16:31 (legacy, from Oct 2025 race)) is shown for reference only and doesn't drive the Working Estimate above.
Around the Bay extrapolation
Historical note · also not a current-fitness anchor
3:55–4:05
You ran 30.2 km @ 5:35/km · HR 151 on Apr 12, 2026.
Same logic as the card above — this is 4+ months old, and fitness moves too much in that window for a single April effort to represent where you are now. Kept for the record; the Working Estimate above is built from your current best 5K and your last ~2 months of training instead.
Garmin VO2max — trailing 60-day average
Live · auto-updated on every upload
47.1
Garmin estimates VO2max on every run, but it swings 5–7 points day to day (device/algorithm noise, not real fitness change) — a single reading isn't meaningful. This is a 30-run rolling average over the last 60 days, which smooths that out. Up 2.6 points vs. the same 60-day window last year (44.4). Shown as supporting context on aerobic capacity trend, not a second competing time prediction — the Working Estimate above is still the number to trust.
Riegel formula — from best 5K
Reference only · speed ceiling
3:31:19
Formula: marathon = 5K × (42.195/5)1.06 · Based on current best 5K PB, auto-updated on every upload.
⚠ Your 2025 marathon at 4:17 confirms this generic formula significantly overpredicts for you. Shown as a speed ceiling only — not a target.
Historical data — from Runalyze (2025–2026)
Parsed from 178 activities across 16 months. This is the actual training history the predictions are grounded in.
TCS Toronto Marathon 2025 — debut
Oct 19, 2025 · Your baseline · the time to beat
4:17
Distance
42.6 km
Avg pace
6:02/km
Avg HR
154 bpm
Goal 2026
sub-4:00
17-minute PB target. You ran 6:02/km for 42.6km. Goal is 5:40/km. That pace felt comfortable at 30km (ATB, Apr 2026) — the question is whether it holds over the full distance with peak training.
Training load — year-to-date (Jan 1–Aug 19)
Metric
Total km
20km+ long runs
Longest
Best 5K
2025
794 km
5 runs
21.2 km
4:44/km
2026 ↑
1021 km
15 runs
30.2 km
4:24/km
+29% volume · +200% more 20km+ long runs · 19s/km faster on best 5K · longest run 21km → 30km. Auto-computed year-to-date through 2026-08-23.
2025 long run staircase — the completed template
2026 long run staircase — same scale, so far
Easy builds · 20km+ · 30km+ · Race (42km) · Both charts use the same km-to-height scale, so bar heights compare directly. 2026 has already logged 24 long runs ≥15km vs 2025's 18 across its whole build (including race day) — more frequent long-run exposure this cycle, reaching 30km back in April rather than only in the final month. Peak in the current plan is recalibrated to 32km, matching 2025's actual peak.
Training signals — directional only, not percentages
Based on 2025 full-year data (128 runs, 1,168 km) and 2026 Garmin history. No invented numbers.
Speed — strong ✓
Best Parkrun: 22:02 (2026-04-04). Last 9 Parkruns (90 days): 24:22, 24:52, 23:11, 24:55, 27:21, 24:11, 23:05, 23:55, 23:10.
Marathon experience — confirmed ✓
4:17:52 on 2025-10-19 (Toronto - TCS Toronto Waterfront Marathon). 42.6km @ 6:03/km.
Endurance — matching last year, not exceeding it
2025 long run peak: 32 km (Sep 28). 2026 plan was originally going to push to 36 km, but recalibrated Aug 19 off actual training volume — peak comes back to the same 32 km. The improvement needs to come from pacing and efficiency, not extra distance.
Weekly volume ahead of last year at this point
Same point last year: 23km, then 9km. This year, same window: 37km, then 39km — ahead of where you were a year ago. 2025 peak was 50km/week (2025-10-13). Auto-computed from upload processed 8/23/2026.
Consistency — strong ✓
94 runs in 2025 through this date (794km), then 113 runs in 2026 (1021km). 2 real gap weeks this year (2026-02-16, 2026-07-27), otherwise consistent.
Aerobic efficiency — plateaued in 2026, not concerning
HR at ~6–6:30/km pace by quarter — 2025: Q1: ~138, Q2: ~139, Q3: ~139, Q4: ~143 bpm. 2026: Q1: ~137, Q2: ~134, Q3: ~137 bpm. Auto-computed from actual runs in that pace band each quarter — no resting HR in this data source.
Next calibration point: The Jul 12 half marathon time trial was skipped — a 27km long run (Jul 19, 6:13/km, HR 134) filled that role instead. The plan itself was recalibrated Aug 19 off actual training volume (peak long run lowered from 36km to 32km). Continued weekly Garmin data through the peak phase will keep sharpening the estimate from ±10 min to ±5 min.
AI coaching analysis
Enter your latest race times and Garmin stats for a detailed coaching assessment. The AI will use your actual data — not guesswork.
Recent 5K (mm:ss)
Recent 10K (mm:ss)
Half marathon (h:mm:ss)
Longest recent run (km)
Additional context