Documentation

How to use WattsWise to improve your cycling performance

Getting Started

WattsWise is a cycling analytics platform that turns your ride data into actionable training and race-day intelligence. It connects to Strava or accepts Garmin .FIT file uploads, then computes advanced power and heart rate metrics that help you train smarter and race faster.

Quick setup

1. Create an account at the register page. You’ll receive a confirmation email — verify within 24 hours to keep your account active.

2. Connect Strava from Settings → Integrations. This grants WattsWise read-only access to your activities. Alternatively, upload Garmin .FIT files directly from the Rides page.

3. Set your FTP in Settings → Cycling Profile. FTP (Functional Threshold Power) is the foundation of all power-based metrics. If you don’t know yours, WattsWise can estimate it from your ride history.

4. Pull your rides from the Rides page. Click “Pull New Rides” to sync your Strava history. WattsWise imports activity summaries and fetches second-by-second data streams for recent rides.

For the most accurate analysis, ensure your FTP, weight, resting heart rate, and max heart rate are all set in your cycling profile. These values calibrate every metric WattsWise computes.

Terminology

Cycling analytics uses specific terminology rooted in exercise physiology. Here’s what each metric means and why it matters.

Power metrics

FTPFunctional Threshold Power. The maximum power you can sustain for approximately one hour. Measured in watts. All zone calculations, TSS, and pacing targets derive from this number. Update it whenever you do an FTP test or WattsWise detects a new estimated value.
NPNormalized Power. A weighted average that accounts for the variability of your effort. A ride with lots of surges and coasting can have the same NP as a steady ride, reflecting the actual physiological cost. Computed using a 30-second rolling average raised to the 4th power.
TSSTraining Stress Score. How much load a ride placed on your body, relative to your FTP. A one-hour ride at exactly FTP = 100 TSS. A 2-hour endurance ride might be 120 TSS. A hard 90-minute race might be 180 TSS. Used to build your fitness chart.
IFIntensity Factor.NP divided by FTP. Tells you how hard the ride was relative to your threshold. IF = 0.75 is endurance, 0.85–0.95 is tempo/threshold, above 1.0 is race intensity.
VIVariability Index. NP divided by average power. A perfectly steady ride has VI = 1.0. Higher values mean more surging. For time trials, aim for VI below 1.05. In a hilly race, VI above 1.1 is normal.

Fitness metrics

CTLChronic Training Load (Fitness). An exponentially weighted rolling average of your daily TSS over ~42 days. Represents your accumulated fitness. Higher CTL = fitter. Takes weeks to build, days to lose.
ATLAcute Training Load (Fatigue). Same calculation as CTL but over ~7 days. Represents recent fatigue. Spikes after hard training blocks and drops during rest weeks.
TSBTraining Stress Balance (Form).CTL minus ATL. Positive TSB means you’re rested and fresh (race-ready). Negative TSB means you’re carrying fatigue (building fitness). The taper before a race aims for TSB between +5 and +25.

Efficiency metrics

EFEfficiency Factor.NP divided by average heart rate. A rising EF trend over weeks means your aerobic engine is improving — you’re producing more power for the same cardiac effort. One of the most reliable indicators of fitness gains.
DecouplingHR Decoupling (Pw:HR).Compares the power-to-HR ratio in the first half of a ride to the second half. Low decoupling (<5%) means strong aerobic fitness. High decoupling (>10%) suggests your aerobic base needs work or the ride was too hard for your current fitness.
Power-HR ModelA quadratic regression that models the relationship between your power output and heart rate response, correcting for cardiac drift, temperature, altitude, and fatigue (TSB). Tracks R² over time. A rising R² means your body is responding more predictably — a sign of good fitness.

Power zones

ZoneName% of FTPPurpose
Z1Active Recovery< 55%Easy spinning, promotes blood flow
Z2Endurance55 – 75%Base fitness, fat oxidation, long rides
Z3Tempo76 – 90%Sustained effort, builds muscular endurance
Z4Threshold91 – 105%FTP-level work, race-specific fitness
Z5VO2max106 – 120%High-intensity intervals, 3–8 minute efforts
Z6Anaerobic121 – 150%Short, hard efforts, 30s–3min
Z7Neuromuscular> 150%Sprints, < 30 seconds
Zones are computed from your FTP. When your FTP changes, all zone boundaries shift automatically. The zone distribution chart on each ride shows how you distributed your effort, which informs training decisions.

Power curve

Your power curveshows the best power you’ve sustained for every duration from 1 second to the length of your longest ride. It’s your physiological fingerprint: the left side (1–15s) reflects neuromuscular/sprint ability, the middle (1–5min) reflects VO2max, and the right side (20–60min) reflects threshold endurance. Comparing curves over different time periods reveals exactly where you’ve improved.

Dashboard

The dashboard is your daily training cockpit. It surfaces the four numbers that define your training state and tells you what to do today.

Key metrics

FTPYour current threshold power — the reference point for everything else.
CTLYour fitness level. Watch it trend upward over training blocks.
ATLYour recent fatigue. Should drop during taper weeks before events.
TSBYour form. Positive = fresh. The dashboard color-codes this: green (fresh, race-ready), gold (balanced), red (fatigued, rest recommended).

AI Coaching Insight

The dashboard features an “Ask AI Coach” button that generates a personalized daily briefing based on your current fitness metrics (CTL, ATL, TSB), FTP, and weekly training load. The AI gives you a form assessment, today’s session suggestion with specific watt targets, and a strategic observation about your training trajectory. Click “Continue in AI Coach” to take the conversation deeper.

Fitness chart

The fitness chart (PMC — Performance Management Chart) plots CTL (fitness) over time with daily TSS as bars. Use it to:

Plan training blocks:CTL should rise gradually (3–7 points per week) during build phases. If it rises too fast, you risk overtraining. If it plateaus, your training stimulus isn’t sufficient.

Time your taper:For your target event, start reducing volume 7–14 days out. You want CTL high (fitness built) while TSB rises to +10 to +25 (freshness). This is the “sweet spot” where fitness meets form.

Spot overreaching:If TSB drops below -30, you’re carrying significant fatigue. Schedule recovery days before form degrades into non-functional overreaching.

Improvement assessment

WattsWise evaluates your improvement across 5 independent signals: power curve progression, Efficiency Factor trend, CTL trajectory, heart rate at matched power, and decoupling trend. Each signal shows the absolute change (e.g. “+12W” or “-2.1 bpm”) with a diverging bar chart. When 3 or more signals point the same direction, you can be confident in the assessment.

Rides & Analytics

Every ride in WattsWise has a detail page with charts and metrics computed from your power, heart rate, cadence, and GPS data.

Rides list

The rides list groups your activities by training week with aggregate stats (ride count, total time, TSS, distance, elevation). Each ride shows an inline coaching summary. Use the search bar to find rides by name, date range presets (30d, 3M, 6M, 1Y, Custom) to narrow to a time period, and sort by date, distance, duration, TSS, or power.

Ride detail — hero panel

The ride detail page opens with a hero panel: your route map (Leaflet with GPS trace, hover-synced with telemetry charts) on the left, and ride name, date, key metrics, and AI ride analysis on the right. Click “Ask AI Coach” for a deeper coaching analysis of the ride. The map dot tracks your position as you hover over the stream charts below.

Stream charts

Stream charts show your second-by-second power, heart rate, cadence, and elevation plotted over distance. Hover to see exact values across all charts simultaneously. Brush-zoom to focus on a specific section. These reveal how you distributed effort: did you ride steady or surge? Did heart rate drift upward despite constant power?

Zone distribution

Zone distribution bars show the percentage of time in each power zone (Z1–Z7) and heart rate zone (Z1–Z5), with the actual watt/bpm ranges labeled (e.g. “Z2 146–195W”). The FTP used for zone calculation is shown as an annotation.

Power profile

The Power Profile page has three tabs. The Power Curve tab shows your mean maximal power envelope with FTP line, Coggan 7-zone bands, and W/kg tooltips. Below, your power profile type (Sprinter, Pursuiter, Time Trialist, Climber, or All-Rounder) is displayed with relative strength bars. Monthly evolution sparklines show each duration’s trend on its own scale. The Aerobic Efficiency and Power-HR tabs provide deeper cardiovascular analysis. Each tab has an “Ask AI Coach” button for on-demand coaching.

Using ride data to improve

Endurance rides:Check that VI is below 1.05 and most time is in Z2. High variability on endurance rides means you’re surging unnecessarily, which adds fatigue without proportional fitness gains.
Threshold work: Compare your NP to your FTP. If NP is consistently above FTP for threshold intervals, your FTP might need updating. An accurate FTP is critical for all zone-based training.
Racing:After a race, check IF (should be 0.95–1.05 for a well-paced effort), VI (lower is better for time trials), and EF (compare to training rides at similar intensity). High decoupling in a race suggests insufficient endurance base.

AI Coach

The AI Coach is an intelligent training assistant with full context on your ride history, power and heart rate profiles, fitness trends, training plans, courses, and events. It doesn’t give generic advice — it sees your actual numbers and responds with specific, actionable guidance.

What the coach knows about you

Every conversation automatically includes your current FTP, weight, resting and max HR, recent CTL/ATL/TSB, your last few rides with key metrics, your active training plan, and any courses you’ve uploaded. You don’t need to explain your background each time — the coach already has it.

What to ask

After a ride:“Review my last ride” — the coach analyzes your intensity, pacing, decoupling, and zone distribution, then tells you what the effort means for your training.
Planning:“Build me a training plan for [event] in [X] weeks” — the coach designs a periodized plan with base, build, and taper phases, weekly TSS targets, and specific workout types matched to your available hours and current fitness.
Event strategy:“What power should I target for [course name]?” — the coach considers your FTP, the course profile, event duration, and your current form to recommend segment-by-segment pacing with nutrition timing.
Interpreting data:“Am I improving?”, “Why is my EF dropping?”, “What should I do this week?” — the coach reads your trends and gives direct answers.

Where to find it

The AI Coach is available from the Coachpage for open-ended conversations. It also appears as “Ask AI Coach” buttons throughout the platform — on the dashboard, individual ride pages, power profile, course detail, and training plan. These contextual buttons pre-load the relevant data so you get targeted insight without having to describe what you’re looking at.

Suggested prompts

The Coach page offers quick-start prompts: “Am I getting faster?”, “Review my last ride”, “What should I do today?”, “Build a training plan”, “Weekly summary”, and “Explain my zones.” Use these as starting points, then follow up with specifics.

The AI Coach uses tokens for each conversation. Longer conversations and tool-assisted answers (like generating a training plan or analyzing ride data) use more tokens. Your daily allowance and usage are visible in Settings → AI Coach.

Training

Training isn’t about riding more — it’s about riding with purpose. WattsWise helps you structure training into phases, track load, and verify that your training is actually producing gains.

The principle: stress + recovery = adaptation

Every training session applies stress to your body (measured as TSS). During recovery, your body adapts and gets stronger. Fitness (CTL) rises. The goal is to apply enough stress to drive adaptation without accumulating so much fatigue that you can’t recover. This balance is what separates productive training from overtraining.

Periodization: base, build, taper

Effective training follows phases, each with a different focus:

Base phase (4–8 weeks):High volume, low intensity. Most riding in Z2 (endurance). Builds your aerobic engine — the foundation everything else sits on. You’re training your body to burn fat efficiently, developing capillary density, and strengthening tendons. It doesn’t feel hard, and that’s the point. Monitor EF trend — it should rise during base.

Build phase (4–6 weeks):Intensity increases. Add threshold intervals (Z4), sweet spot work (88–94% FTP), and VO2max efforts (Z5). Volume stays high but the hard sessions create sharper fitness gains. CTL should climb 3–7 points per week. Recovery weeks (30–40% volume reduction) every 3rd or 4th week prevent overreaching.

Taper (1–2 weeks):Volume drops 40–60% but intensity stays. You’re sharpening, not detraining. CTL barely dips while TSB rises toward +10 to +25 — the sweet spot where fitness meets freshness. This is when you feel fastest.

The polarized approach

Research consistently shows that the most effective training distribution is polarized: roughly 80% of training time at Z1–Z2 (easy), and 20% at Z4+ (hard). Minimise time in Z3 (tempo) — it’s too hard to recover from quickly but not hard enough to drive top-end adaptation. WattsWise’s zone distribution charts on each ride help you verify you’re hitting this balance.

Training plans

Create a training plan with a target event date and WattsWise structures your weeks into base, build, and taper phases. Each week has a planned TSS target that progressively overloads, with recovery weeks built in. The AI Coach can generate a complete plan tailored to your current CTL, available hours, and event demands.

Load tracking

The weekly view shows planned TSS vs completed TSS. Consistently hitting 90–110% of planned load means you’re on track. Below 80% means you’re undertraining relative to the plan. Above 120% means you may be overreaching. The PMC chart on your dashboard shows how this weekly load translates into long-term fitness and fatigue trends.

Signs you’re on the right track

Power curve shifting up— your best efforts at 5min, 20min, and 60min are higher than 6–8 weeks ago. This is the most direct evidence of improvement.
EF trending upward— you’re producing more watts per heartbeat. Your aerobic engine is getting more efficient, independent of whether FTP has changed yet.
Decoupling improving— less HR drift on long rides at the same power. Your aerobic base is getting stronger.

Signs something needs to change

Power curve stagnant despite high TSS— you may need more rest or a different stimulus, not more volume. Ask the AI Coach for a training review.
EF declining, resting HR elevated— early signs of overreaching. Schedule a recovery week before it becomes non-functional overreaching.
TSB below -30 for more than 2 weeks— accumulated fatigue. Performance will decline. A recovery week now saves you from a forced break later.

Nutrition

Most amateur cyclists underfuel. Your gut is trainable, and getting nutrition right on event day can be the difference between finishing strong and blowing up at km 120. WattsWise helps you plan and practice your fuelling strategy.

The basics: carbs per hour

During rides over 90 minutes, your body needs external fuel. The current sports science consensus:

Ride DurationCarbs/Hour TargetNotes
1–1.5 hours30–40gA gel or a banana is enough
1.5–2.5 hours40–60gRegular feeding every 20–30 minutes
2.5–4 hours60–80gMix of gels, bars, and real food
4+ hours80–120gRequires gut training; use multiple carb sources (glucose + fructose)

These are targets to train toward. If you currently eat 30g/hour on long rides, don’t jump to 90g next weekend. Increase by 10–15g per week and let your gut adapt.

What to eat and when

Easy/flat sections and descents:Eat here. Your stomach handles food better at low intensity. This is the time for solid foods — rice cakes, fig bars, sandwiches.

Before a hard climb:Take a gel or simple sugars 5–10 minutes before the effort starts. They’ll be absorbed by the time you need them.

During hard efforts:Don’t eat. Blood is diverted to muscles, digestion slows. Sip fluid only.

After a hard effort:Start eating again on the descent or the next flat section. Your window is closing — glycogen depletion is cumulative.

Managing your foods in WattsWise

Go to Nutritionto manage your food library. Add the foods you actually eat — your favourite gels, bars, rice cakes, whatever works for your stomach. Set the macros per 100g and serving size.

Mark foods as Event Favourites (star icon) to make them available in course nutrition plans. Only your starred favourites appear when selecting nutrition for course segments. This keeps the dropdown clean and relevant.

Pre-event meal

Eat 2–3 hours before the start. Target 1–2g of carbs per kg of body weight. Stick to familiar foods — event morning is not the time to experiment. The course plan in WattsWise shows a pre-event meal suggestion based on your weight and event duration.

Practice your event nutrition on training rides. Use the exact foods you plan to eat on event day, at the same intensity. Your gut needs rehearsal just like your legs do.

Event Day

WattsWise turns event preparation from guesswork into a plan. Upload a GPX course file and get segment-by-segment power targets, a terrain-aware nutrition schedule, and an event readiness assessment based on your current form.

Course planning

Upload a GPX file from the Course page. WattsWise parses the route, computes elevation gain, and automatically segments the course by gradient type: flat, rolling, climbing, steep climbing, and descending. Each segment gets a length, average gradient, and elevation change. Click a segment in the table to highlight it on the map and elevation profile.

Power targets + event readiness

Click “Generate Course Plan” to get per-segment watt targets derived from your FTP, terrain gradient, event duration, and chosen effort level. An Event Readiness card shows your current CTL/ATL/TSB with form-based advice (“carrying fatigue — reduce effort 3–5%”). Use the effort slider to adjust targets globally — for example, dial back to 90% for a training ride on the course, or push to 105% for a peak performance.

Pacing strategy

The Event Strategy table shows every segment with terrain type, distance, gradient, power target, zone, estimated duration, and arrival time. This is your ride plan in a single view.

Key pacing rules:For events over 2 hours, start conservative — first third at low Z3, build into Z4. Never go into Z5+ on a climb in the first third. Descents are free recovery — soft pedal Z1, eat, drink. The effort slider adjusts all targets proportionally while respecting the terrain.

The plan adjusts power targets for event duration. FTP is defined as ~1-hour power. For a 4-hour sportive, sustainable power drops to roughly 68% of FTP. The plan accounts for this automatically — the targets are realistic for the full distance, not just the first hour.

Nutrition plan

The nutrition plan places feed points at distance intervals, matched to terrain. Feeds are scheduled on flats and easy grades where your stomach can handle food. You can click any segment’s nutrition cell to change the food or add nutrition to empty segments. The energy balance chart shows planned intake vs estimated expenditure across the course.

Only foods marked as Event Favourites in your Nutrition library appear in the dropdown. Set up your favourite foods before generating a plan.

AI event strategy

The “Event Strategy Insight” button asks the AI Coach to analyze your course plan in context. It considers the course profile, your current fitness, the specific segments, and your nutrition plan to give you a plain-language event briefing: where to save energy, where to push, when to eat, and what to watch out for.

Live events

Course organizers can create live events with GPS-fenced prize points on the route. During the event, riders running the Garmin companion app collect prizes by physically riding through the activation zone. An anti-cheat system validates claims in real time using proximity checks, trail continuity, and speed verification. Results appear on a live leaderboard.

Prize claim radius zones are visualized as dashed circles on the map. Each prize can be expanded to see who claimed what rank (gold, silver, bronze). After the event, export results as CSV.

Import & Sync

WattsWise imports ride data from Strava and Garmin Connect. When you click “Pull New Rides,” a background sync job fetches your activity list, creates records for new cycling activities, and queues stream fetches for recent rides (last 30 days) to compute advanced metrics.

The import pipeline

StepWhat HappensSpeed
1. BackfillFetches your full activity list from Strava (100 per page)~1.5s per page
2. FilterKeeps only cycling types (Ride, VirtualRide, EBikeRide)Instant
3. DedupSkips activities already in the database or duplicated by GarminInstant
4. Fetch StreamsDownloads second-by-second power, HR, cadence, GPS for recent rides~0.3s per ride
5. Compute MetricsCalculates NP, TSS, IF, VI, EF, power zones, HR zones, power curveInstant

The import runs in a background worker. You can close the browser and come back later — your rides will be there when processing finishes.

Strava API rate limits

Strava enforces rate limits on all API consumers. WattsWise tracks these limits in real time and pauses automatically when approaching a limit.

100-200requests / 15 minshort-term window
1,000-2,000requests / dayresets at midnight UTC
Exact limits depend on your Strava app’s approval tier. Newly registered apps start at 100/15min and 1,000/day. Approved apps get 200/15min and 2,000/day.

What counts as a request

ActionAPI CallsNote
Pull New Rides (backfill)1 per 100 activitiesA library of 3,000 rides uses ~30 calls
Fetch streams for 1 ride1Only for rides in the last 30 days
Reimport a single ride1Fetches streams + recomputes metrics
Sync a new activity (webhook)21 to fetch activity + 1 for streams

When you hit a rate limit

When the rate limit is reached, WattsWise shows an amber warning with a countdown. The worker pauses automatically and resumes when the window resets.

Limit TypeWait TimeWhat To Do
15-minute limitUp to 15 minutesWait for the window to reset. The countdown shows remaining time.
Daily limitUntil midnight UTCNo more imports today. Rides already in the queue will process tomorrow.

Garmin .FIT imports

Garmin rides are imported by uploading .fitfiles directly. These are parsed locally and don’t count against any API rate limit. When both Strava and Garmin data exist for the same ride (within a 2-minute window), WattsWise deduplicates automatically, keeping whichever was imported first.

Automatic sync

Once Strava is connected, WattsWise also syncs in the background. A webhook listener processes new activities as they’re uploaded to Strava, and an hourly sweep catches anything the webhook missed. A quick check also runs at each login.

Garmin Connect IQ Companion

The WattsWise Garmin app runs on Edge 530, 540, 550, 830, 840, 850, 1030, 1040, 1050, and Explore 2. It delivers your course plan directly to your handlebars with live pacing targets, nutrition alerts, and event tracking.

Pairing your device

1. Install the WattsWise .prg file on your Edge via USB (copy to GARMIN/APPS/), or install from the Connect IQ Store once published.

2. Go to Settings → Integrations → Garmin Device and click Generate Pairing Code. A 6-digit code appears with a 5-minute countdown.

3. On your Edge, open WattsWise, long-press SELECT to open the menu, and choose Pair Account. Enter the 6 digits using UP/DOWN to scroll and SELECT to confirm each digit.

4.Your Garmin exchanges the code for a secure device token. Pairing is a one-time setup — the token lasts 90 days.

Loading a course

On the course detail page, find the 6-character event code in the Share & Access section. On your Garmin, open the menu and choose Enter Event Code. Enter the characters using UP/DOWN (A–Z, 2–9) and SELECT to confirm.

Once entered, the Garmin downloads the full course plan. If you’re paired, you get:

MapCourse waypoints, prize locations, competitor positions. Auto-zooms to nearest unclaimed prize.
PacingTarget power per segment, cadence, gradient, remaining distance.
NutritionFeed alerts matched to terrain. Running carb and fluid totals against plan.
LeaderboardPrize claim status, online rider count.

Free ride mode

The app works without a course loaded. In free ride mode it displays real-time speed, distance, heading, and GPS coordinates. To clear a loaded course and return to free ride mode, open the menu and choose Clear Course.

Troubleshooting

IssueSolution
"Pair account first"The event is private and your Garmin isn't paired. Generate a pairing code in Settings.
"Not invited to this event"Ask the event organizer to invite your email from the course detail page.
"Course not found"Check the 6-character code. Codes use A-Z + 2-9 only (no 0, O, 1, I, or L).
Pairing code expiredCodes are valid for 5 minutes. Generate a new one.
No GPS signalMove outdoors and wait 15-30 seconds for satellite acquisition.

Data & Privacy

Strava data

When you connect Strava, WattsWise syncs your activity summaries, athlete profile (including FTP), and detailed data streams (power, heart rate, cadence, speed, altitude, temperature). OAuth tokens are encrypted at rest using AES-256-GCM. GPS coordinates are fetched on-demand for map display and are not permanently stored.

Your Strava data is used exclusively for your individual analytics, AI coaching, training plan generation, and race pacing. It is never used for model training, aggregate analysis, or shared with other users.

Garmin data

Garmin .FIT files are uploaded directly from your device. Data from FIT files (power, heart rate, cadence, speed, GPS, temperature) is stored in the WattsWise database for your analytics. GPS coordinates from Garmin rides are stored as part of the activity record for map display.

Managing your data

Disconnect Strava: Go to Settings and click Disconnect. This revokes access and deletes all synced Strava rides and analytics cache.

Delete Strava data:Use the “Delete all Strava data” button in Settings to permanently remove all rides synced from Strava.

Revoke from Strava: You can also revoke access at strava.com/settings/apps. WattsWise will automatically delete your tokens and synced data within 48 hours.

Export your data:Go to Settings → Export to download all your WattsWise data in machine-readable JSON format.

Contact

For privacy questions, data deletion requests, or any other support needs, email info@dynamicstrategies.io. You can also use the Contact button in the sidebar to send us a message directly from the app.

Full details are in our Privacy Policy and Terms of Service.

Frequently Asked Questions

Account & data

Training & fitness

Event day

AI Coach

Nutrition

Billing & access