Key Outcomes
Delivered a production-ready React Native mobile application (iOS and Android) for the Pure Sync speed-awareness device, achieving a 4.96/5 star rating across 48 user reviews.
Engineered a custom Bluetooth Low Energy (BLE) protocol and solved the persistent iOS background-connection challenge, sustaining reliable device-to-phone communication even when the app is backgrounded or the screen is locked.
Completed a full migration of Road Angel’s legacy React Native codebase to the latest framework version, reducing build times, eliminating deprecated-API crashes, and enabling longterm maintainability.
The Challenge
Before partnering with Iottive, Road Angel was facing several issues:
Legacy React Native Codebase
Road Angel’s existing mobile application was built on an outdated version of React Native. Deprecated APIs, incompatible third-party libraries, and mounting technical debt made it increasingly difficult to ship new features or maintain stability across iOS and Android releases.
Background BLE Connection on iOS
iOS imposes strict restrictions on Bluetooth activity when an app moves to the background. The Pure Sync device depends on a continuous BLE connection to the phone for GPS data and internet-sourced alerts. Maintaining that link reliably — across screen locks, app suspensions, and iOS powermanagement interventions — was the single most technically demanding requirement.
Bluetooth Protocol Design Complexity
No off-the-shelf BLE profile matched the Pure Sync’s data requirements. Iottive needed to design a custom protocol capable of streaming GPS coordinates, alert payloads, device configuration changes, and status telemetry between the phone and the device — all within BLE’s constrained bandwidth and packet-size limits.
Multi-Device & Multi-User App UX
The Road Angel app had to support multiple hardware products (Pure Sync, Pure One, Pure Touch, and more), family sharing for up to three users per subscription, and a range of configurable alert presets and vehicle types. Designing an intuitive UX that scaled across this matrix without overwhelming the driver was a significant design challenge.
Our Solution
Iottive delivered a complete AIoT solution under a full-cycle product development model.
Bluetooth/IoT Expertise
Iottive designed a bespoke BLE communication protocol from scratch, defining GATT services, characteristics, and a state machine governing connection, reconnection, and data exchange. On iOS, the team leveraged CoreBluetooth’s state-preservation and state-restoration APIs, combined with CoreLocation background modes, to keep the BLE link alive under Apple’s strict background-execution policies. Iottive’s prior research — documented in a published white paper on iOS background BLE and iBeacon behaviour — directly informed the architecture.
Design Thinking Approach
Iottive mapped the end-to-end user journey: unboxing the Pure Sync, scanning the QR code, completing subscription activation, selecting a driving preset, and receiving the first alert. Each interaction was prototyped, tested with real device hardware, and refined to minimise cognitive load. Special attention went to the multi-device management flow, ensuring that users who own a Pure Sync and a Halo dash cam can switch contexts without confusion.
Project Planning & Execution
The React Native migration followed a phased strategy: audit the legacy codebase, identify deprecated dependencies, migrate core modules incrementally, and run parallel builds until the new version matched feature parity. Iottive operated in two-week agile sprints with Road Angel’s product team, shipping testable builds to TestFlight and Google Play internal tracks after every cycle.
Functionalities Delivered in Mobile Apps
– Device pairing via QR code scan with automatic Bluetooth discovery and handshake
– Subscription management — purchase, renewal, and status validation via in-app APIs
– Alert preset configuration (Safe Drive, Smart Drive, Pro Drive) with per-preset sound and display settings
– Vehicle type selection (car, van, HGV) applying the correct speed-limit thresholds to alerts
– Family sharing — invite up to three additional users under a single subscription
– Multi-device support — manage Pure Sync, Pure One, Pure Touch, and other Road Angel hardware from one app
Implementation Highlights
Device Pairing & Setup
Users scan a QR code printed on the Pure Sync packaging. The app decodes the device identifier , initiates BLE scanning, discovers the target peripheral, and completes a secure pairing handshake — all within a single guided flow. Error states (device out of range, Bluetooth disabled, camera permission denied) are handled with clear, actionable prompts rather than generic error messages.
Edge & Connectivity — BLE Protocol
The custom BLE protocol defines dedicated GATT characteristics for GPS position data, alert payloads, device configuration writes, and firmware-status reads. A finite state machine in the app manages connection lifecycle: initial discovery, authenticated pairing, active data exchange, graceful disconnection, and automatic reconnection. On iOS, the app registers for Bluetooth backgroundexecution and state-restoration entitlements, monitors peripheral connectivity events, and reestablishes the link when iOS suspends and later resumes the process. On Android, a foreground service with a persistent notification keeps the BLE connection stable across Doze and App Standby modes.
React Native Migration
Iottive audited every native module and JavaScript dependency in the legacy codebase, flagged breaking changes, and built a migration plan prioritised by risk. The team upgraded React Native in stages — core framework first, then navigation, then third-party libraries — running automated and manual regression tests at each step. Post-migration, cold-start time dropped measurably, and the app gained access to modern APIs including Hermes engine optimisations and the New Architecture bridge.
Data Analytics & Visualisation
The app renders real-time device status (connection strength, battery level, GPS fix quality) and presents alert history with location context. A dashboard view lets users review recent trips, see which alert types fired most frequently, and verify that their preset configuration matches their driving patterns.
Dashboard & UX
The device-management screen provides a single hub for all connected Road Angel products. Users can switch the active device, adjust alert presets (Safe Drive for everyday commuting, Smart Drive for balanced awareness, Pro Drive for full-alert coverage), set vehicle type and corresponding speed thresholds, and manage family-sharing invitations. The interface adapts to the capabilities of each hardware model — features not supported by a given device are hidden rather than greyed out.
Security & Compliance
BLE connections use encrypted pairing to prevent unauthorised devices from intercepting alert data.Subscription validation runs server-side with token-based authentication, ensuring that only active subscribers receive live alert streams. User data handling complies with GDPR requirements, including clear consent flows and data-deletion capabilities within the app.
Results & Impact
- The Road Angel app maintains a 4.96 out of 5 star rating, with users specifically praising
connection reliability and ease of setup. - Background BLE connection on iOS operates continuously during drives, surviving screen locks, app suspensions, and low-power states — a capability many competing apps fail to deliver.
- The React Native migration eliminated all deprecated-API warnings, reduced cold-start time, and unblocked adoption of modern React Native features (Hermes, Fabric renderer).
- Family sharing and multi-device support increased per-household engagement, with users managing up to three devices and three family members from a single subscription.
- Post-launch crash rate stayed below 0.5%, reflecting the stability gained through thorough
migration testing and disciplined BLE state-machine design.
“The background Bluetooth connection on iOS was the problem we’d struggled with for years. Every
previous attempt either drained the battery or dropped the link within minutes of the screen locking.
Iottive’s team brought genuine depth in CoreBluetooth and BLE protocol design — they didn’t just patch
our existing approach, they re-architected it from the ground up. On top of that, they migrated our entire
React Native codebase to the latest version without a single regression in production. They’ve become an
extension of our engineering team.”
— Gary Digva, Road Angel Group
Lessons & Best Practices
iOS Background BLE Demands Purpose-Built Architecture
Apple’s background-execution model is not a minor constraint — it is a first-order architectural driver.Iottive’s experience, including research published in a white paper on iOS background BLE and iBeacon behaviour, confirmed that reliable background connections require a combination of state-restoration entitlements, CoreLocation region monitoring as a wake trigger, and careful management of the CBCentralManager lifecycle. Generic BLE libraries do not handle this; purpose-built logic is mandatory
React Native Migrations Require Incremental, Risk-Ordered Execution
Attempting a single-commit framework upgrade across a mature codebase invites cascading failures. Iottive broke the migration into discrete stages — core framework, navigation stack, native modules, third-party libraries — running regression suites between each. This approach isolated breaking changes and kept the app shippable throughout the transition.
Custom BLE Protocols Must Be Designed for Constrained Bandwidth
BLE’s maximum transmission unit is far smaller than Wi-Fi or classic Bluetooth. The protocol design accounted for this from day one: compact binary payloads, prioritised characteristic writes, and a negotiation step during connection setup that adapts payload sizes to the peripheral’s supported MTU. Over-engineering the protocol for throughput would have compromised connection stability on older phones.
Subscription-First App Architecture Simplifies Feature Gating
Road Angel’s business model ties device functionality to an active subscription. Iottive built subscription status as a core state variable that propagates through the app, gating access to live alerts, premium
presets, and family sharing. This approach proved cleaner than retrofitting paywalls onto individual features and made it straightforward to introduce new subscription tiers later.
Technology
Comprehensive IoT Technology Stack
From devices and connectivity to cloud, apps, and security — we leverage a full-stack IoT ecosystem to build scalable, secure, and future-ready solutions.
React Native
Bluetooth Low Energy
iOS Swift
Android Kotlin
JavaScript
QR code scanning
Subscription management APIs
Agile delivery with TestFlight and Google Play internal testing tracks
Why Iottive’s the Right Partner
- Deep BLE expertise, backed by published research on iOS background Bluetooth and iBeacon —
not theoretical knowledge, but production-proven architecture deployed in the Road Angel app and other IoT products. - Proven React Native capability across complex hardware-connected apps, including experience
migrating legacy codebases to the latest framework version without production regressions. - Specialisation in the hardest BLE problem in mobile development — maintaining persistent
background connections on iOS — which is the exact capability that separates a reliable IoT companion app from an unreliable one.