Cross-platform IoT companion app with Bluetooth provisioning and remote monitoring
A cross-platform React Native app that commissions connected equipment onto a customer's Wi-Fi over Bluetooth Low Energy, then gives owners live monitoring, alerts and history — with scoped access for the manufacturer's service network.
Getting new hardware onto a customer's home or business Wi-Fi is the highest-risk five minutes of a connected product: no network yet, hardware in hand, low patience, and every step able to fail for physical reasons — range, interference, a wrong password, a device already claimed. Beyond setup, owners had no way to see a device's condition without being physically present, and the manufacturer's dealer network had no route into a customer's equipment short of a site visit.
Built the commissioning flow as the primary user journey rather than a setup screen, designing explicitly for the failure cases — out of range, Bluetooth off, refused permissions, wrong credentials, already-provisioned units — with BLE scanning, secure session establishment and Wi-Fi credential transfer kept behind a proof-of-possession handshake so nothing is exposed in transit. Locations, systems and devices are modelled as a real hierarchy in both the API layer and client state, with data fetched by scope so a large installation doesn't slow down a screen that only needs one system.
The API integration itself sits behind three layers — a configured HTTP client, a declarative endpoint registry, and typed service functions — so a backend contract change is absorbed in one place. Runtime permissions for Bluetooth, location, camera and notifications are handled per platform with correct sequencing, and native build variants per environment keep test and production configuration from ever crossing over.
Owners commission new hardware themselves, without a technician or a support call, and get live status, history and push alerts on equipment they could previously only check in person. Service providers get scoped, revocable access to a customer's locations, so remote support doesn't require a shared login or a site visit. One React Native codebase covers both platforms end to end, including the parts usually cited as reasons not to go cross-platform — Bluetooth, camera and push.
Something holding you back?
New build, rebuild, or adding AI to what you already have — I'll take a look and give you an honest perspective.