Device Linking
Specter on Wear OS requires a one-time link to your Android phone. After that, the watch operates independently.
- Open Specter on your Wear OS watch
- Tap Link Device
- A 6-digit code appears on the watch
- The code is sent to your phone via the Wearable Data Layer
- Confirm the code on your Android phone
- Auth tokens are sent back and stored in EncryptedSharedPreferences
The watch manages its own auth token refresh. Workouts record over cellular, WiFi, or Bluetooth relay. No phone needed during exercise.
Recording a Workout
- From the home screen, tap an activity type:
Run RUNNING — pace tracked Ride BIKING — speed tracked Swim SWIMMING — open water Hike HIKING — elevation tracked Walk WALKING — pace tracked Other WORKOUT — general - Health Services begins recording sensor data and GPS activates
On first use, the watch will request Body Sensors, Activity Recognition, and Location permissions. Grant all for full functionality.
Live Stats During Workout
During your workout, the watch displays a 3x2 grid:
| Position | Stat | Details |
|---|---|---|
| Top left | PACE | min:sec per km |
| Top right | HR | Heart rate in bpm (red) |
| Middle left | DIST | Distance in km |
| Middle right | TIME | Elapsed time |
| Bottom left | CAL | Active calories |
| Bottom right | Controls | Pause and stop |
Controls
- Pause (yellow) — pauses workout and data collection
- Stop (red) — ends workout, saves locally, triggers sync
Post-Workout Summary
After stopping a workout:
- Activity type and distance displayed
- Duration and heart rate shown
- Sync status: "Synced" (green) or "Will sync when connected" (yellow)
- Tap Done to return to the picker
Offline Sync
Specter saves every workout to local storage immediately. Uploads happen in the background via Android WorkManager.
- You finish a workout with no signal — activity saved to disk
- Watch connects to a network (cellular, WiFi, or Bluetooth relay)
- WorkManager detects connectivity and uploads pending activities automatically
- Both stats and GPS route (as GPX) are sent to the backend
Manual Sync
- If "Pending: X" appears on the home screen, tap it to force a sync
- Requires an active network connection
When the GPX arrives, the backend strips device metadata, rounds timestamps, encrypts the track with AES-256, and jitters start/end coordinates by 500m. The route is only visible to you unless you create a ShareGrant.