Request a Call

Processing...

  • Hidden

Business Overview

Business Overview

Our client aims to transform the automotive industry and ensure safer and more enjoyable driving with tactile data—data obtained when car wheels come into contact with the road. The client developed special software that uses in-car sensors to offer road and vehicle-related insights to interested parties—road authorities, vehicle makers, tire manufacturers, and car insurers. These sensors are installed by vehicle manufacturers during the production cycle and can analyze wheel speed, wheel angle, RPM, gear position, and other driving criteria and capture everything that happens on the road.

After a certain point, the client felt the need to expand in-house resources to be able to scale the projects and keep providing customers with innovative products. That’s when they turned to the NIX team for professional help.

Business Overview

Project Scope

Within the project, we’ve developed two independent web applications and created a custom machine-learning (ML) algorithm:

  • An ML module for pavement condition analysis to reduce the workload on road experts and streamline operation processes

  • A map visualizing pavement condition data and intended for road authorities and municipalities who use it to monitor the road surface’s state

  • A map that shows a moving vehicle in real time and helps car manufacturers test their products

Challenge

The main challenge was to provide high-speed data stream processing in real time. Poor system performance could result in slow map loading and the display of irrelevant vehicle data.

The fact is that one vehicle can send up to 30 requests per second, which implies 20,000 requests per second with only 1,000 vehicles involved. So we needed to lay the groundwork for future project scaling and develop applications that could run smoothly under high system loads, efficiently processing data coming from many thousands of cars simultaneously.

Solution

Both applications use data crowdsourcing. Since the information received from the sensors must first be uploaded to the cloud for big data analytics, we implemented reliable and efficient cloud infrastructure through AWS solutions. We’ve also created a single sign-on system for all internal services for an intuitive and smooth user experience.

Given the similar requirements for these apps, we developed them based on a microservice architecture using the FastAPI asynchronous framework. This made them easily scalable and ensured their high performance and ability to process a large number of simultaneous requests, resulting in road-related messages arriving on time, without delay, and maps loading quickly.

Apart from applying the same implementation logic to these applications to a certain extent, which maximized our efficiency, we took into account their unique features and adjusted the development process accordingly.

 

Application For Data Visualization of Road Conditions

This application contains a map that visualizes the current quality of the road surface in multiple cities around the world. It allows scanning the road for potholes, bumpy areas, asphalt insufficiency, etc. The purpose is to improve planned pavement maintenance and ensure road safety.

We receive real-time data by requesting it from the cloud in an encoded form and sending it to draw the map. This data is converted into special layers, each responsible for a specific segment of road information. They can be loaded individually or in the desired combination, which makes the system run faster. 

Also, in order to further speed up the map loading process, we implemented Tile Server technology. The map is divided into segments—tiles—which can be downloaded in parts as needed. So data is loaded gradually as the user moves around the map.

map_sm1

ML algorithm for pavement quality analysis

To automate the process of pavement quality analysis, we created an ML-powered algorithm designed to assess the road surface without human intervention. This solution allowed specially-trained employees of the road municipalities to get rid of the time-consuming manual activities associated with pavement segment evaluation, streamlining the process and cutting costs.

To train our model, we used about 3,500,000 surface events coming from in-car devices and matched them with data from available city-specific annual reports, where each pavement segment has a quality score for the last year. Our task was to determine how these events correlate with the identified state of the road surface on which they occur and to train our ML algorithm to process similar data on its own in the future.

We developed a Python-based algorithm by using the following solutions:

1) The ML model is based on the XGBoost library, which is the best solution for building decision tree ensembles when working with tabular data.

2) For data pre-processing and standardization, we used the pandas and sklearn libraries. Sklearn also helped us perform data dimensionality reduction when we needed to display multidimensional observations on a plane.

3) To match surface events with road segments, we took advantage of the HERE mapping platform, which simplifies location-centric data exchange.

The algorithm, hosted on the AWS cloud platform, can convert data from vehicle sensors into road segment quality scores, which are then displayed on the map.

Application Visualizing Vehicle Movement in Real-World Conditions

This application also contains a map with a focus on the vehicle itself. It helps car manufacturers gain important real-use data in order to make some improvements in the production process. They can see the movement of the selected vehicle in real time and understand what is happening with it at a given moment.

The app works as a streaming service and demonstrates the very process of taking readings about the vehicle’s condition and the state of the road surface. We receive the data through an encrypted protocol directly from the car and, after processing, transfer it for visualization. As a result, one sees the vehicle on the map here and now and knows how it’s moving on different types of surfaces, which helps to analyze its behavior, performance, and other significant parameters.

s1

Outcome

 

The client now has two top-notch web products that collect road-related data in real time. In addition, they give access to statistical information on the pavement condition and records of vehicle movement in a selected time period.

These web applications serve as SaaS solutions. This opens up new prospects for the client’s company and offers more thrilling opportunities for business growth.

The apps currently gather data in the US, Germany, Singapore, Israel, and other countries. The list continues to expand as the client’s long-term goal is to reach every major city in the world with its services, allowing municipalities to effectively monitor road surfaces and car manufacturers to improve the quality of their products.

Solution

Team:

9 experts (Sales Engineer, Project Manager, Deputy Project Manager, JS/UI Developer, PHP Developer, QD Developer, Python Developer, PHP Developer, ML Engineer)

Tech Stack:

Python, AWS, PostgreSQL, TypeScript, Redis, WebSockets, Mapbox, Pandas, React, Flask, FastAPI, DynamoDB, Kafka, Machine Learning, sklearn, HERE mapping platform

REQUEST A CONSULTATION

Related Success Stories

View all success stories

Device Management Solution for Fortune 500 Company

Internet Services and Computer Software

Manufacturing

Success Story Device Management Solution for Fortune 500 Company image

Modernization of the Online Food Delivery Ecosystem

Food & Beverages

Logistics & Delivery & Supply Chain

Success Story Modernization of the Online Food Delivery Ecosystem  image

FITHOOD: Mobile App for a Seamless Fitness Experience

Wellness & Sport

Success Story FITHOOD: Mobile App for a Seamless Fitness Experience image

Enterra: E-commerce Solution for the Agriculture Market

Agriculture

Retail & eCommerce

Success Story Enterra: E-commerce Solution for the Agriculture Market image
01

Contact Us

Accessibility Adjustments
Adjust Background Colors
Adjust Text Colors