# Hevy Companion for Fitbit Sense 2

Private Fitbit Sense 2 companion app for logging Hevy workouts from the wrist.

## Features

- Fitbit Sense 2 (`rhea`) watch app
- Phone companion bridge to Hevy API
- Routine sync from Hevy + routine picker (LIST on idle screen)
- Live set tracking on watch with superset-aware sequencing
- Adjustable reps, weight, and RPE (color-coded modes; hold +/- to auto-repeat,
  weight accelerates to 2.5 kg steps)
- Session weight adjustments carry forward as deltas (warmups excluded)
- UNDO last set (top-right during rest; BACK on the finish screen)
- Rest timer with haptics: 5s pre-warning, strong end buzz, counts overrun
  time up until you tap GO; resumes after app restart
- "prev" line shows your last logged sets per exercise (Hevy history)
- Set-type badges (WARMUP / DROP / FAIL) and per-exercise notes overlay
- Plate calculator: tap the weight line on barbell exercises
- Heart-rate display during rest; per-set and session HR stats
- Rest + HR summary written into the Hevy workout description
- Screen stays on for the whole session (dims after 20s, never sleeps)
- Workout state persistence if the app is swiped away — including finished
  but unsynced workouts (RETRY offered on relaunch)
- Per-set backup mirrored to the phone companion (data-loss safety net)
- Chunked plan/workout transfer with NACK + resend
- Final workout sync back to Hevy

## Build

```bash
npm install
npx fitbit-build
```

## Install via Fitbit Debug Bridge

Full package:

```bash
node _fitbit_install_once.js install build/app.fba
```

Watch-only package:

```bash
node _make_companion_only.js
node _fitbit_install_once.js install build/app-only.fba
```

Companion-only package:

```bash
node _make_companion_only.js
node _fitbit_install_once.js install build/companion-only.fba
```

## Notes

This is a private personal build. The companion uses Hevy API access and Fitbit messaging APIs.
