iOS Companion App (Sul-Tee) — New Agent Needed #709

Closed
opened 2026-04-03 16:45:05 -04:00 by seb · 0 comments
Owner

Summary

We need a dedicated agent to build the iOS companion app for SaltyBot follow-me mode.

Background

Architecture was designed 2026-03-23. The app runs on iPhone 15 Pro and streams sensor data to the Orin over WebSocket.

Requirements

Core Features

  • WebSocket client → connects to Orin (sensor data stream)
  • GPS streaming — dual-frequency L1+L5, continuous updates
  • IMU streaming — accelerometer + gyroscope
  • Magnetometer — heading/compass
  • Barometer — altitude
  • Background operation — must keep streaming when phone is locked/backgrounded

Architecture

  • UWB ranging is handled by ESP32 DW1000 anchors on the bot (NOT Apple U1)
  • iPhone provides GPS + IMU + mag + baro over WiFi/WebSocket to Orin
  • Orin fuses phone sensors + UWB ranges for position estimate
  • Protocol: JSON over WebSocket (can optimize to binary later)

Tech Stack

  • Swift / SwiftUI (native — better sensor access + background modes than Flutter)
  • Target: iPhone 15 Pro (iOS 17+)
  • Xcode project, dev account: vayrette@gmail.com (team Z37N597UWY)

Nice-to-Have

  • Simple UI showing connection status, sensor rates, bot distance
  • Start/stop follow-me button
  • Haptic feedback for alerts from bot
  • LiDAR depth data passthrough (future)

Notes

  • UWB hardware (ESP32 DW1000 modules) arrived March 14, firmware in progress on branch salty/uwb-tag-display-wireless
  • Wrist tag (ESP32 + DW1000 + OLED) is the minimal wearable; phone is the sensor brain
  • See memory/2026-03-23.md for full architecture discussion

Agent

  • Needs a new dedicated agent (suggest: sl-ios or sl-companion)
  • Create new Gitea repo: seb/saltylab-ios
  • Swift experience required
## Summary We need a dedicated agent to build the iOS companion app for SaltyBot follow-me mode. ## Background Architecture was designed 2026-03-23. The app runs on iPhone 15 Pro and streams sensor data to the Orin over WebSocket. ## Requirements ### Core Features - **WebSocket client** → connects to Orin (sensor data stream) - **GPS streaming** — dual-frequency L1+L5, continuous updates - **IMU streaming** — accelerometer + gyroscope - **Magnetometer** — heading/compass - **Barometer** — altitude - **Background operation** — must keep streaming when phone is locked/backgrounded ### Architecture - UWB ranging is handled by ESP32 DW1000 anchors on the bot (NOT Apple U1) - iPhone provides GPS + IMU + mag + baro over WiFi/WebSocket to Orin - Orin fuses phone sensors + UWB ranges for position estimate - Protocol: JSON over WebSocket (can optimize to binary later) ### Tech Stack - **Swift / SwiftUI** (native — better sensor access + background modes than Flutter) - Target: iPhone 15 Pro (iOS 17+) - Xcode project, dev account: vayrette@gmail.com (team Z37N597UWY) ### Nice-to-Have - Simple UI showing connection status, sensor rates, bot distance - Start/stop follow-me button - Haptic feedback for alerts from bot - LiDAR depth data passthrough (future) ## Notes - UWB hardware (ESP32 DW1000 modules) arrived March 14, firmware in progress on branch `salty/uwb-tag-display-wireless` - Wrist tag (ESP32 + DW1000 + OLED) is the minimal wearable; phone is the sensor brain - See memory/2026-03-23.md for full architecture discussion ## Agent - Needs a new dedicated agent (suggest: `sl-ios` or `sl-companion`) - Create new Gitea repo: `seb/saltylab-ios` - Swift experience required
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#709
No description provided.