Overrun#
An iOS app for trimming and managing HealthKit workouts. Built for the common problem of forgetting to stop recording — leaving you with an 8-hour "run" that wrecks your stats.
Features#
Workout List#
- Workouts grouped by month/year with section headers
- Search by activity type name (case-insensitive)
- Sort by date (default), longest duration, or shortest duration — useful for quickly finding forgot-to-stop workouts or accidental recordings
- Paginated loading (50 at a time) with infinite scroll
- Pull-to-refresh
Workout Detail & Trimming#
- Activity graph showing heart rate, active energy, or distance over time (auto-selects the best available metric)
- Range slider to visually select the portion of the workout to keep
- Dimmed overlay on the graph showing which portions will be trimmed
- Live-updating start time, end time, and duration display
- Activity type picker with 20 supported workout types
- Delete workout with confirmation
Data Warning#
Trimming a workout is destructive and irreversible.
HealthKit does not allow modifying a workout's start/end dates in place. When you trim a workout, Overrun deletes the original workout and creates a new one with the trimmed time range. This means:
- Heart rate, energy, and distance samples become orphaned — they remain in HealthKit but are no longer associated with any workout. The new trimmed workout has no linked samples.
- Workout routes (GPS/location data) are permanently lost.
- Workout events are permanently lost.
- Device association is lost.
- Only metadata (custom name, notes, etc.) is preserved.
The app shows a confirmation dialog before saving. Make sure you want to proceed.
Requirements#
- iOS 17+
- Xcode 15+
- HealthKit entitlement
Building#
Open WorkoutEditor.xcodeproj in Xcode and run on a device or simulator. The app requires HealthKit authorization to read and write workouts and associated samples.
In debug builds, 200 sample workouts are auto-generated on first launch for testing.