{{ item.message }}
Set a goal
A goal gives your training data context. We'll use it to compare your recent runs, spot what may be limiting progress, and make recommendations that fit your schedule.
You can change this later.AI Coach
Loading coach analysis...
Pace & Heart Rate
Aerobic Efficiency
Training Load by Type
Set a goal to build your training week
Midrunner uses your goal, target date, and running schedule to create a realistic week-first plan.
This Week
{{ currentWeekDateRange }} · {{ activeGoal.type === 'speed' ? 'Progress check-in' : 'Goal date' }} {{ activeGoalDateLabel }}
{{ currentTrainingWeek.deviationSummary.headline }}
{{ currentTrainingWeek.deviationSummary.note }}
Runs to Place
Completed runs from Strava that are not matched to the plan yet.
{{ workout.type }}
{{ workout.status }}{{ workout.purpose }}
{{ workout.notes }} {{ workout.match.note }}Plan Overview
Generated through {{ activeGoal.type === 'speed' ? 'your progress check-in' : 'goal day' }}. Current week stays primary.
Your adaptive calendar is getting ready
Refresh once your goal is saved, or revisit Settings to confirm your target date.
| Date {{ sortKey === 'date' ? (sortAsc ? '↑' : '↓') : '' }} | Name {{ sortKey === 'name' ? (sortAsc ? '↑' : '↓') : '' }} | Distance {{ sortKey === 'distance' ? (sortAsc ? '↑' : '↓') : '' }} | Duration {{ sortKey === 'duration' ? (sortAsc ? '↑' : '↓') : '' }} | Pace {{ sortKey === 'pace' ? (sortAsc ? '↑' : '↓') : '' }} | Avg HR {{ sortKey === 'avgHr' ? (sortAsc ? '↑' : '↓') : '' }} | Type {{ sortKey === 'tag' ? (sortAsc ? '↑' : '↓') : '' }} | |
|---|---|---|---|---|---|---|---|
| {{ run.dateFormatted }} | {{ run.name }} | {{ run.distanceFormatted }} | {{ run.durationFormatted }} | {{ run.paceFormatted }} | {{ run.avgHrFormatted }} | ||
|
Loading run details...
{{ runDetailsError }}
RoutePace
{{ runDetails.paceMinFormatted }}
{{ runDetails.paceMidFormatted }}
{{ runDetails.paceMaxFormatted }}
0
{{ (runDetails.totalDistance / 2).toFixed(1) }} mi
{{ runDetails.totalDistance.toFixed(1) }} mi
No pace data
Heart Rate
{{ runDetails.hrMaxFormatted }}
{{ runDetails.hrMidFormatted }}
{{ runDetails.hrMinFormatted }}
0
{{ (runDetails.totalDistance / 2).toFixed(1) }} mi
{{ runDetails.totalDistance.toFixed(1) }} mi
No HR data
Splits
{{ idx + 1 }}
{{ split.paceFormatted }}
{{ split.avgHr }} bpm
Start Time
{{ runDetails.startTime }}
Elapsed Time
{{ runDetails.elapsedTime }}
Calories
{{ runDetails.calories }}
Elevation Gain
{{ runDetails.elevationGain }}
Relative Effort
{{ runDetails.sufferScore }}
Gear
{{ runDetails.gear }}
|
|||||||