Menu
IoT

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.

Client — a connected-equipment manufacturer
Concept visuals — not actual screenshots
01 — Challenge

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.

02 — Approach

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.

03 — Impact

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.

Stack
React NativeReact NativeTypeScriptRedux ToolkitBluetooth Low EnergyFirebase Cloud MessagingSentry

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.

Get in touch ↗