Priority: ASAP — this is becoming the linchpin for the van/off-grid onboarding + management story.
Vision
The mobile app is the main way a user manages their appliance. Two pillars:
1. Same view as the appliance dashboard (Home Assistant pattern)
The app renders the exact same UI the appliance serves — i.e. the appliance's own web dashboard, the same thing you'd see opening it in Safari/Chrome. Home Assistant's app does this: a wrapper around the web UI + native capabilities layered on. Fits the existing architecture decision (Capacitor + PWA + mobile-specific views in one codebase). One UI to maintain; the app is a shell + native bridges.
2. Native BLE bridge to manage/provision the box
The app talks to the appliance over Bluetooth (native BLE — not Web Bluetooth, so it works on iPhone, which Safari can't do). This is the key unlock:
Why native app, not browser
Relationships
Open question (carried from planning)
IAP vs link-out for the tier-locked cloud features in the app store — still unresolved; revisit when scoping the build.
Priority: ASAP — this is becoming the linchpin for the van/off-grid onboarding + management story.
Vision
The mobile app is the main way a user manages their appliance. Two pillars:
1. Same view as the appliance dashboard (Home Assistant pattern)
The app renders the exact same UI the appliance serves — i.e. the appliance's own web dashboard, the same thing you'd see opening it in Safari/Chrome. Home Assistant's app does this: a wrapper around the web UI + native capabilities layered on. Fits the existing architecture decision (Capacitor + PWA + mobile-specific views in one codebase). One UI to maintain; the app is a shell + native bridges.
2. Native BLE bridge to manage/provision the box
The app talks to the appliance over Bluetooth (native BLE — not Web Bluetooth, so it works on iPhone, which Safari can't do). This is the key unlock:
Why native app, not browser
Relationships
Open question (carried from planning)
IAP vs link-out for the tier-locked cloud features in the app store — still unresolved; revisit when scoping the build.