TestFlight beta, App Store launch in progress

The bumps know where you were.
Now your watch does too.

DownwindTracker is a capture device for OC1 and surf ski paddlers. Your Apple Watch records 100 Hz IMU and 1 Hz GPS through the paddle, then transfers the session to your iPhone for upload and downwind analysis.

iOS 26.2+ watchOS 26.2+ Built for Apple Watch Ultra
01 — Architecture

Watch records. Phone uploads. Backend analyzes.

The app is intentionally narrow in scope: reliable capture and reliable delivery. All bump detection, dead-water identification, and coaching happens server-side, which means the watch app stays small, the phone app stays simple, and your data stays portable.

01

Press start on the watch

Apple Watch Ultra users can map it to the Action Button via StartPaddleIntent. The app opens a HealthKit workout session so the watch keeps recording in the background.

  • HealthKit workout for background runtime
  • Core Motion at ~100 Hz with write recovery
  • Core Location at ~1 Hz for route and speed
02

Stop, and the session bundle ships to your iPhone

When you end the recording, the watch packages two CSVs (accelerometer and GPS) plus metadata (duration, sample count, observed Hz, SHA-256 checksums, dropped sample counts) and transfers them over WatchConnectivity.

  • Lossless CSV format compatible with the Sensor Logger schema
  • Checksummed transfer with retry
  • Phone queues uploads with exponential backoff
03

Upload, annotate, and get the analysis back

Sign in once with a Supabase magic link. Sessions sync to the Downwind Cloud API (certificate-pinned HTTPS). After analysis you get bumps, dead-water sections, best 60-second average speed, and a coaching summary.

  • Pre-analysis annotation (session type, conditions, focus)
  • Verdict deltas against your prior sessions
  • Full session history on device
02 — Data captured

Two CSV files. One JSON of metadata. Nothing else.

Transparent by design. Here is exactly what each session contains.

required

WatchAccelerometerUncalibrated.csv

time, seconds_elapsed, x, y, z

Raw 3-axis acceleration in the device frame at ~100 Hz. Nanosecond epoch timestamps.

optional

WatchLocation.csv

time, seconds_elapsed, latitude, longitude,
ellipsoidalAltitude, altitude, course, speed,
verticalAccuracy, horizontalAccuracy,
speedAccuracy, courseAccuracy

Core Location output at ~1 Hz. Speed in meters per second; backend normalizes units.

metadata

Session bundle dict

  • Session ID
  • Duration and sample count
  • Recording timestamp
  • Observed Hz per stream
  • Schema version
  • SHA-256 checksums
  • Dropped sample counts

The watch never uploads directly. The phone is the only client that talks to the backend, and only when you press upload.

03 — Questions

FAQ

Why is the watch app a "capture device" and not an analysis app?

Bump detection, dead-water identification, and coaching are computationally non-trivial and benefit from frequent iteration. Keeping the watch and phone scope narrow means the analysis engine can improve without forcing app updates, and your raw sensor data is always reprocessable against newer models.

Do I need an Apple Watch Ultra?

No, but the Action Button integration (one-press start from the wrist) requires Apple Watch Ultra. Standard Apple Watch models running watchOS 26.2 or later can still record sessions from the in-app start screen.

What boats and disciplines does this support?

The app is built for OC1 outrigger canoe and surf ski downwind sessions. The capture format is sport-agnostic, so V1, V6, SUP downwind, and other paddle disciplines will record correctly; the analysis is tuned specifically for ocean downwind bump-running.

How is my data stored?

Auth is handled by Supabase using magic-link email sign-in. Sessions upload to the Downwind Cloud API over certificate-pinned HTTPS. See the Privacy Policy for full detail.

When is the App Store launch?

The app is currently in TestFlight beta. There is no committed App Store launch date yet. Email support@downwindtracker.com to request TestFlight access.

04 — Support

Get help, request access, or report a bug

DownwindTracker is built and maintained by one person. Emails are answered directly.

support@downwindtracker.com

Please include your iOS version, watchOS version, and Apple Watch model when reporting bugs.