RIDECONSOLE
RIDECONSOLE
checking...
THIS WEEK'S GOAL
-- km
this week
Maintaining Fitness -- km
12-Weekly Average -- km
WEEK IN REVIEW
—
-- km
this week
LOAD
--
--
DISTANCE -- avg --%
TIME -- avg --%
No rides this week yet.
Distance and Time run 0-150% of your 12-week rolling average (the tick marks 100%) - past the tick means an above-average week. Load is the same acute (7-day) over chronic (28-day) TSS balance as the Training Load widget below, shown on the same Fresh (top) to High Fatigue (bottom) scale. Ride Mix breaks this week's rides down by type (time) and by effort (Easy/Moderate/Hard). Use the ‹ › arrows to step back to last week - every number here compares against the same 12-week average either way, so the percentages stay directly comparable.
CALENDAR
—
—
MoTuWeThFrSaSu
One dot per ride, colored by ride type: recovery, endurance, training, or mixed/unclassified. Tap a day to see its rides below, then tap a ride to open it. Use ‹ › to change month, or TODAY to jump back to the current month. This calendar covers your full ride history.
OVERVIEW
TRAINING LOAD
--
High FatigueBuilding FatigueBalancedFresh
—
Connect Wahoo and log a few rides with power to estimate training load.
--
Acute · 7d
--
Chronic · 28d
--
Balance
Training Load compares your recent training stress to your longer-term baseline. Acute (7-day average TSS) reflects short-term fatigue; Chronic (28-day average TSS) reflects your established fitness. Balance is Chronic minus Acute - strongly positive means you're fresh, strongly negative means you're building fatigue faster than you're adapting. TSS itself comes from ride duration, power, and your current FTP estimate. If Settings > Power Estimation's "Include Estimates in Training Load" is on, rides without a power meter can also contribute using their estimated power - your current FTP estimate itself is always based on real recorded power only.
WEEKLY STATISTICS
SELECTED WEEK
—
--
Distance
--
Elevation gain
--
Time
ESTIMATED FTP TREND
--
WATTS · ESTIMATE, NOT DEVICE-RECORDED
—
Rolling estimate from your hardest 20-70 min effort in the trailing ~90 days - a trend, not a single device-recorded value. Treat as approximate; a real 20-min FTP test is more accurate.
HEART RATE ZONES · LAST 4 WEEKS
No heart rate data in the last 4 weeks yet.
RIDE CLASSIFICATION
BY TYPE · TIME
BY EFFORT · RIDES
No rides in this range yet.
BEST EFFORTS
Loading best efforts...
RECENT RIDES
* estimate
No rides loaded yet.
ASK ABOUT TODAY'S WORKOUT
Ask me what to ride today, based on your recent training.
APPEARANCE
Light Mode
Switch to a light color scheme. Applies instantly and stays in sync across devices.
DASHBOARD & PROGRESS TILES
This Week's Goal
Show the weekly goal progress ring on the Dashboard.
Week in Review
Show the distance/time/load rings and ride mix summary on the Dashboard.
Calendar
Show the month-by-month ride calendar on the Dashboard.
Overview
Show the week/month/year/all-time overview grid on the Dashboard.
Training Load
Show the Training Load widget on the Dashboard.
Weekly Statistics
Show the Weekly Statistics chart on the Progress page.
Estimated FTP Trend
Show the Estimated FTP Trend widget on the Progress page.
Heart Rate Zones
Show the Heart Rate Zones widget on the Progress page.
Ride Classification
Show the Ride Classification widget on the Progress page.
Best Efforts
Show the Best Efforts widget on the Progress page.
FEATURES
Ask AI
Show the Ask AI page and its button in the bottom navigation.
CONNECTION
Wahoo Connection
--
SYNC
Sync Now
Sync the latest ride list from Wahoo (if due), and advance FIT file downloads, Best Efforts, and Route Heatmap indexing by one step each - the same work Background Sync does automatically.
Background Sync
Keeps FIT files, Best Efforts, and Route Heatmap indexing moving automatically every ~10 minutes, even while this app isn't open (requires the separate cron-worker to be deployed - see cron-worker/README.md).
Recalculate Statistics
Force all cached statistics (ride data, heart rate zone analysis, best efforts, and route heatmap) to be recalculated immediately, instead of waiting for their cache to expire.
Rebuild Best Efforts Index
Clear and rebuild the Best Efforts leaderboard from already-downloaded FIT files. Only re-downloads from Wahoo for rides whose FIT file isn't cached yet.
POWER ESTIMATION
Enable Power Estimates
Show an estimated average power (from heart rate, speed, and elevation) on rides that don't have a power meter reading, shown in teal italics to mark them as estimates. Real recorded power is never affected, and estimates are never counted in Best Efforts or FTP.
Include Estimates in Training Load
When on, the Training Load widget's TSS calculation also uses estimated power for rides that don't have a power meter reading (scaled by a ×1.04 factor to approximate normalized power, since the estimate itself is an average-power figure). Off by default behavior would be real-power-only rides; FTP itself never uses estimated power either way.
Manual FTP Override
Overrides your Estimated FTP as the anchor for Training Load and the ride-detail Power Zones chart. The Estimated FTP widget above is never affected by this value.
Recalculate Power Estimates
Force the power-estimate model to refit immediately from your current cached ride history (no Wahoo call needed), instead of waiting for a new ride with power data to trigger it automatically.
ROUTE HEATMAP
Show Experimental Skeleton
Overlay the route-matching skeleton this heatmap is built from on the map, as colored dots (blue = ordinary point, orange = a real junction, gray = a route's start/end) - a debugging view of the underlying matching, not the heatmap itself. See docs/adr/0016-route-skeleton-spline-matching.md.
Color Scale
How ridden-frequency is mapped to color intensity on the Route Heatmap. See docs/adr/0018-heatmap-color-scale-modes.md for what each mode does.
Smoothing
Rounds off route corners on the Route Heatmap for a smoother-looking line. Purely cosmetic - never affects matching or ride counts. Changing this may take a moment to regenerate on each date range.
Force Rebuild
Rebuild the Route Heatmap's currently selected date range from scratch, ignoring whatever topology is already cached for it. Only needed to recover from a corrupted cache - open the Route Heatmap page afterwards to see progress.
RIDE DETAILS
Plot Smoothing
How much the Power/Heart Rate/Speed/Cadence/Elevation plots on a ride's detail page are smoothed before drawing. Much finer → much coarser, left to right; 10s is the original default.
ACTIVITIES
Distance Highlight Threshold
Rides at or above this distance show their distance in the highlight color in Recent Rides and search results; shorter rides show it plain. 25 km by default.
STORAGE
FIT File Storage
Remove Old Data
Delete cached FIT files for rides older than 24 months to free up space. Rides currently holding a best effort are always kept, regardless of age. Your stats, best efforts, and route heatmap aren't affected - only the raw FIT files are removed.
Build--
Data source--
Wahoo connection--
Background sync--
Wahoo sync--
Ride data--
HR zone analysis--
Advanced
Read-only - reflects existing cached data, doesn't download anything new.
Wahoo not connected yet. Connect Wahoo
Ride
BEST EFFORTS
Heart Rate Zones
Power Zones
Power Curve
Route Heatmap
Search Rides