What are ATL, CTL and TSB?▸
These are the three pillars of the Performance Management Chart (PMC). CTL (Fitness) is a 42-day rolling EWMA of training stress — rises with consistent training. ATL (Fatigue) is a 7-day EWMA that spikes after hard sessions. TSB (Form) = CTL − ATL. Positive TSB means rested and race-ready; deeply negative means heavy fatigue. Tap the ? legend button for zone bands.
What is TSS and how is it calculated?▸
TSS (Training Stress Score) reflects how hard a session was. FitMate uses Strava's Suffer Score as a TSS proxy — HR-normalised and scales similarly. For rides without a suffer score, FitMate estimates ~50 TSS/hr. See per-ride load impact in the Training Load Impact badge on any past ride.
What is w/kg and why does it matter?▸
W/kg (watts per kilogram) is the most important performance number in cycling. FitMate now shows it automatically on page load using your last known weight — no need to visit Check-in first. It updates whenever Garmin syncs via Intervals.icu or you log weight in Check-in. The value is cached locally so it's instant on every visit.
Why does my w/kg not show?▸
Two things are needed: (1) FTP set in Settings, and (2) a weight recorded in Check-in or synced from Garmin via Intervals.icu. Once both are set, the 7th stat card appears and persists automatically across sessions. If it still doesn't show, visit the Check-in tab once to seed the weight.
What does Drill Down show and what do I need?▸
Drill Down loads the route map, HR/power zone distributions, and second-by-second streams (HR, power, elevation, speed, cadence). Heart rate monitor needed for HR; power meter for power. No power meter? FitMate calculates HR zone distribution from your max HR automatically.
Why does it recommend rest when I feel fine?▸
The readiness score uses ATL/CTL/TSB load balance. Accumulated fatigue shows up even if you feel OK subjectively. Complete your morning check-in with leg freshness and mood — this gives Claude subjective data to balance against the load numbers. Back-to-back hard sessions and rest-day schedule entries also trigger automatic guardrails on stale saved sessions.
What are the Strava Data stats based on?▸
The Strava Data card now shows this calendar month (1st of the month to today) — not the rolling 7 days. This gives a fuller picture of monthly volume. The separate THIS WEEK strip above (streak, km, hrs, check-ins) still shows the current week Mon–today.
Why does FTP need updating?▸
FTP changes as your fitness changes. FitMate tracks when you last saved it and shows an amber banner after 6 weeks (stronger message at 12 weeks). An outdated FTP makes zone targets and w/kg inaccurate. Quickest test: 20-min all-out effort, FTP ≈ 95% average power. Or ask the coach to plan a ramp test.
What is Active Recovery?▸
Active recovery sits between Rest and Easy — a very light Z1 spin, 20–45 min, RPE 1–2. It keeps blood moving, reduces soreness and preserves training rhythm without adding meaningful fatigue. Shows as a purple pill in the calendar.
How does Strava auto-completion work?▸
FitMate compares each Strava ride against your planned sessions for that day. If the type, duration and intensity are a reasonable match (within ~30% on duration), the session is marked completed automatically — ✓ green tick on the calendar pill. The compliance bar counts these automatically.
How does Morning Notes work?▸
The Morning Notes textarea on Check-in saves its content as part of the standard Save check-in action — no separate submit needed. Notes go directly into Claude's coaching context. Notes persist after saving (like a journal). Use the ✕ clear button to reset for the next day.
How can I improve recommendation accuracy?▸
Three things make the biggest difference: (1) Set your FTP in Settings. (2) Complete your check-in every morning — subjective data balances objective load. (3) Keep your schedule accurate — if Zwift or outdoor days change, update Settings.
Is my data private?▸
Your Strava data is fetched via OAuth — FitMate never stores your Strava password. Ride data, check-ins and plans are saved to this site's MySQL database only. AI recommendations are processed via the Anthropic Claude API; Anthropic does not store them. Your Intervals.icu API key is stored server-side and never sent to the browser in full.
What are the Tier 3 features?
⛅ Weather widget — appears at the top of Today tab using your device GPS. Shows temperature, conditions, wind speed and a ride-specific tip (too hot, too windy, rain expected etc). Uses Open-Meteo free API — no account needed.
⚡ RPE prompt — after a Strava ride is matched to today, a Rate of Perceived Exertion slider (1–10) appears automatically. Rate the session and your response goes directly to your coach for smarter next-day recommendations.
📤 Shareable ride card — tap Share on any ride in the activity modal. A branded 600×340 card is drawn with your ride stats on a dark gradient. Download as PNG and post to Strava, Instagram, Slack etc.
What are the new Tier 2 dashboard cards?▸
v4.23.1 added four new data-rich cards between the Weekly Volume chart and Training Load section:
🗓️ Activity Heatmap — GitHub-style 12-week grid. Each cell = one day, colour intensity = suffer score (activity load). See your consistency at a glance.
🏆 Season Summary — Year-to-date totals: rides, km, hours, elevation (and how it compares to Everest height), plus your four personal bests (longest ride, biggest climb, hardest session, longest effort).
🎯 Training Consistency — 10-week dot calendar showing each day as: trained (mint), check-in only (blue), rest day (faint), or missed (grey). Shows your consistency percentage.
🎯 Goal Event Progress Arc — Circular arc filling as your training plan progresses. Shows current phase (Base/Build/Peak/Taper), days to go, and phase badges. Updates automatically from Settings.
🦘 Australian Animal Ride Roster — what appears on Strava?▸
After each of today's rides, FitMate automatically appends one line to your Strava description — an Australian animal that captures the character of the ride, plus the daily coaching slogan. Nothing else is added.
| ANIMAL | WHEN IT APPEARS |
|---|
| 🦁 | Tasmanian Devil | 3+ personal records |
| 🦅 | Wedge-tailed Eagle | 1,500m+ elevation |
| 🐊 | Saltwater Croc | Suffer 100+ and ≤75 min |
| 🦘 | Kangaroo | 90+ min, suffer ≤80 — Z2 endurance |
| 🐢 | Flatback Turtle | 4+ hours ultra long |
| 🦜 | Galah | 40–90 suffer, 60+ min, 40+ km |
| 🦎 | Goanna | 50–100 suffer, 45+ min tempo |
| 🦔 | Echidna | Virtual ride, IF ≥0.75 or suffer 50+ |
| 🐨 | Koala | Suffer <30 or under 35 min |