Changelog

New features, improvements, and fixes.

Shipping activity

1,418 contributions in the last year

IMPROVED

Smarter Chart Aggregation for Long Ranges

  • Charts now auto-bucket based on the selected date range so long windows stay readable instead of turning into a dense smear of points
  • Up to 30 days: daily points, exactly like before
  • 31 to 90 days: weekly buckets (Monday-start weeks)
  • 91+ days: monthly buckets
  • Applies across WHOOP, Apple Health, Strava, and public shared charts. Sums stay sums (steps, distance, calories), averages stay averages (HRV, RHR), and max-type series (max HR) keep the peak
IMPROVED

Apple Health Sleep Total Accuracy

  • Fixed a bug where the Total Sleep line on the Sleep Stages chart could show roughly double the actual sleep time
  • Some iPhones log both a full-night "asleep" envelope and the detailed core/deep/REM breakdown, which was being double-counted in the total
  • The total now drops the redundant envelope when detailed stages are available, while legacy nights with only "asleep" still contribute as expected
  • No data changes required, the fix applies to all existing nights
NEW

Google Sign-in

  • Sign in with your Google account for quick, secure authentication
  • One-click login on both the sign-in and registration pages
  • Existing users can link their Google account by signing in with the same email
IMPROVED

Export Improvements

  • WHOOP export is now a single option that bundles recovery, sleep, and workouts into one ZIP with 3 CSVs
  • Apple Health workout maps now have an interactive route scrubber slider and city/country display
NEW

Timezone Support

  • All dates and times across the dashboard now display in your local timezone instead of UTC
  • Your timezone is auto-detected from your browser on first visit, no action needed
  • You can manually change your timezone anytime from Profile settings
  • WHOOP workout detail pages use the exact timezone from when the workout was recorded, so workouts done while traveling show the correct local time
  • Date range filters ("Last 30 days", custom ranges) now align with your local day boundaries
IMPROVED

Apple Health Step & Calorie Accuracy

  • Fixed an aggregation bug that was inflating step, calorie, and distance totals up to 20x for some days
  • Fixed double-counting when multiple apps record the same activity (iPhone + Apple Watch + WHOOP all writing into Apple Health)
  • The steps chart now defaults to "Auto" mode, which picks the source with the most data per day. Use the source buttons to view a single source
  • All historical Apple Health data has been recomputed, no action needed
NEW

One-click WHOOP connect

  • VitalTrends is now an official WHOOP API partner, no more creating your own developer app or managing API credentials
  • Connecting your WHOOP band is now instant: just click Connect and authorize
  • The BYOK setup guide, video walkthrough, and credential management screens have been removed
  • If you were using your own WHOOP credentials, just click "Connect WHOOP" and authorize the normal way. Your synced data is safe, nothing is lost. You can delete your personal WHOOP developer app afterwards
NEW

Full WHOOP History Sync

  • Your WHOOP data now syncs all the way back to when you first started using WHOOP, not just the last 6 months
  • New and reconnecting users get full historical data automatically
  • Existing users will be backfilled automatically, no action needed
NEW

WHOOP Workout Archive with Sport Icons

  • Full workout archive with per-sport breakdowns, personal records, and session details
  • 122 custom sport icons across all WHOOP and Apple Health workout types
  • Sport detail pages with stats, heart rate zone charts, and individual session drill-down
  • Icons now appear in workout cards, session headers, and Apple Health workout lists
IMPROVED

Faster Apple Health Charts

  • Apple Health data is now pre-aggregated into sessions, reducing 7.4 million raw samples to ~91,000 processed rows
  • Charts load significantly faster, especially for users with months of data
  • Aggregation runs automatically after each sync and hourly as a safety net