System for analyzing user driving behavior

challenge:

Our partner – a large Italian telematics company – sought to build a powerful mobile application to analyze driving behavior of users.

Our challenge was to implement the criteria and put them into a seamless, user-friendly application.

With the app already in hand, we focused on engineering a platform for analyzing, querying and visualizing a set of data provided by the system.

tools used:

Java 8 Spring Cassandra ActiveMQ MySQL Spark Scala Angular JS

We developed a feature-rich app that allows users to measure their driving skills.

solution:

The system is based on heterogeneous data, such as real-time GPS data, weather and road conditions, traffic congestion, speed limits or drivers’ lifestyle information. Each users’ trip is assigned a score that describes how safely the user was driving. The algorithm detects hazardous events, such as speed limit violations, harsh acceleration, braking, and cornering.

The system is distributed and is deployed on multiple nodes that asynchronously process the incoming data. The platform can be used to discover correlations between measured parameters. It allows to monitor the driving style of a particular driver. Data processing is done using Apache Spark with Cassandra as a non-relational data storage.