At a glance

What we built

  • Production firmware with secure boot and OTA ready design
  • MQTT topic map and QoS strategy for reliable telemetry and commands
  • Native iOS and Android apps with real time status and alerts
  • Cloud services and data pipelines with a staged migration from SoftLayer to AWS

Results snapshot

Faster device to app round trip in field tests
Higher delivery rate for critical alerts with QoS tuning
Lower cloud cost trend after AWS move

Architecture overview

Device layer

  • MCU firmware in C or C++ with low power modes and battery protection
  • GNSS, motion sensor, and cellular or WiFi module integration
  • Signed OTA update flow with rollback safety

Messaging layer with MQTT

  • Broker selection and TLS based client auth with device certificates
  • Topic naming and retained message policy for status and commands
  • QoS selection by event type and reconnect backoff for flaky links

Cloud layer on AWS

  • Cutover from SoftLayer using shadow traffic and staged rollouts
  • Ingestion, stream processing, alert engine, time series storage
  • API gateway for apps and partner endpoints with least privilege IAM

App layer

  • Native iOS and Android with background updates and push alerts
  • Lost mode, siren or immobilize command, live location map
  • Secure sign in and privacy controls for sharing device view

Key engineering choices

  • MQTT for device traffic due to small overhead and reliable delivery
  • QoS and retry strategy tuned for telemetry versus control commands
  • Dual bank firmware updates with signed artifacts
  • Data model split across time series, relational, and object store
  • Fleet health dashboards and alerting on device online rate and latency

Migration notes

  • Constraints on SoftLayer led to a move to managed services
  • Dual write period and performance baselines before cutover
  • Rollback checkpoints and post cutover validation
  • Better cost control and developer velocity after migration

Common questions

How do you keep message delivery reliable with mobile devices
We combine MQTT QoS, retained status messages, and exponential backoff. Devices resume sessions with clean session rules that match the event type.
How are over the air updates handled
Updates are signed, applied to an inactive bank, and validated before swap. Devices fall back to the previous bank if health checks fail.
What metrics matter for fleet health
Online rate, command success, round trip latency, firmware mix, and battery trends. These feed alert thresholds and rollout pacing.