Platform migration and app development for a custom IoT service-provider company

About the Client:

  • Based in Sydney, Australia
  • Global customer base
  • Custom IoT devices
  • Established in 2015
  • B2G

Client Challenge

The client approached Scaleup Consulting with a request for three goals:

  • migrate their legacy system from the cloud to edge devices
  • rebuild their platform to a new platform with stronger security and privacy
  • migrate their desktop application

Key Features and Deliverables Provided Since March 2021

APP DEVELOPMENT

PLATFORM ARCHITECTURE

SECURITY & PRIVACY

Business Overview

The client places IoT sensors in one location, which report data live about that location. The IoT sensors are mobile, and are therefore battery powered and connected to the internet over mobile broadband. The client has a global customer base that includes government agencies covering a population of 500K to 20M.

About the Project

The client was looking for a way to decrease their ongoing cloud expenses and move data processing from the cloud to edge devices. After discussing with them and understanding their issues and previous setup, we proposed a plan to allow seamless migration and end-to-end encryption while helping them minimise operating costs.

Phase 1 - Edge Migration

The legacy system worked very well as a prototype but severely lacked scalability and security. We ported a lot of Python code to C++ to improve performance and quickly run their data processing pipeline on the edge devices.

We completed the migration process and tested the system extensively to ensure it worked correctly and had no issues. We wrote monitoring software to measure the reliability and availability of the platform and also introduced alerts for any detected faults. Transferring the processing to the edge devices allowed for improved security and reduced bandwidth and cloud costs, which the client initially wanted.

Phase 2 - Desktop Application

After that, the project expanded to rebuilding the application to enhance security and privacy while migrating the existing desktop application. Our team used the old [Qt] desktop application for design inspiration as we migrated the functionality to a new [Electron.js] application. The choice of using Electron.js worked well as a customer later asked for a web-based desktop application version.

We added end-to-end encryption and digital signature verification to prevent external and third-party access to sensitive data and information. We also set up role-based access control so that the decryption and accessibility of the data are limited to predefined roles granted to users. By doing so, we enhanced the security measures and privacy compared to the original application.

Overcoming the Odds

An issue we repeatedly faced during development was regarding reproducibility. Because we were dealing with hardware, it was often difficult to reproduce issues that we infrequently saw, as we needed to know what conditions were required to reproduce them. We added very detailed logging to identify issues more quickly and put in workarounds, even without being able to reproduce the issues. We wrote monitoring software to measure the reliability and availability of the platform and also introduced alerts for any detected faults.

The migration allowed us to reduce operating costs by 90%, increasing scalability. By removing the cloud from the data processing pipeline and implementing end-to-end encryption, we were also able to increase data network security and privacy.

CLIENT APPROVED

“I am very happy with the tech team at ScaleUp. They have taken the time to learn about our business and how we operate. It gives me confidence that they can make any necessary changes or additions. They’re also always available and quick to respond to questions.”

Co-founder & COO

IoT Startup