A running record of what changed, and why.
Every shipped change is a paragraph here. No marketing polish, no versioning theater — just the decision and the diff.
- 11
First-workout sweep — runner, health, video, library
Four waves of fixes and additions from a first end-to-end workout — runner polish, HealthKit + Strava routing, in-session form video, bundled routines, and a skippable onboarding quiz.
Addition - 10
History tab, pain trend, per-exercise progression
Three-tab shell (Workouts / History / Settings). History surfaces a session log, a 30/60/90-day pain trend chart, and per-exercise load-over-time.
Addition - 09
Quiet Sport redesign — the full system
Quiet Sport lands across the app — design system, runner, rest timer, watch, rehab, shell, plus a second visual pass on palette, hero numerics, and nine new atoms.
Redesign - 08
Watch: tempo haptics, duration and rest countdowns
The watch gains distinct haptics for each tempo phase, a duration-countdown ring for holds, and a numeric rest countdown — while staying HR-centric.
Addition - 07
Design direction documented
The app philosophy and Quiet Sport aesthetic are written down — the handful of invariants that should never silently change.
Foundation - 06
Manage workouts — edit, delete, clipboard import, Strava modes
Edit + delete flows, a robust iCloud re-scan, pasting workout JSON from the clipboard, and Strava upload modes (always / ask / never).
Addition - 05
Marketing site
A public site — landing, philosophy, AI-chatbot integration guide, Privacy, Support, and this changelog — goes live.
Addition - 04
Muscle groups per exercise, Strava descriptions
Exercises now declare their muscle groups via a closed vocabulary; Strava uploads include a human-readable description built from the session.
Addition - 03
Structured Weight type, ±-stepper, app icon
Weight becomes a typed value (number + unit) across the model; runner and planner share a ±-stepper; the app icon ships.
Addition - 02
Polish fixes — overflow, delete confirmation, sample persistence
A pass over rough edges: SetRow horizontal overflow on iPhone, delete confirmation dialog, and persisting bundled-sample deletions across app restarts.
Fix - 01
Foundation — schema, persistence, watch, Strava, library
The functional base of Aski lands in one intense day: JSON schema and decoder, iCloud import, runner + session logging, watchOS + HealthKit, Strava upload, and the exercise library.
Foundation