Our team has developed an app for an insurance company that helps clients acquire safe driving habits. App users get discounts for sticking to motor vehicle traffic regulations.
Goal
An auto insurance company requested our company to create a big data solution and an IOS/Android mobile app development with the purpose to:
- monitor driving behavior
- analyze collected data
- score results and turn them into discounts.
Challenges
To release a high-quality product, our team had to optimize several processes:
- Create the platform for administrators, agents, and support teams;
- Design a user-friendly interface for drivers who sign up into the system;
- Store and process large data scopes;
- Optimize mobile phone battery consumption while tracking trips.
Solutions
We’ve implemented the following solutions:
Mobile App
We’ve kicked off the project with mobile app development for tracking trips. Our skilled mobile engineers have used, tried, and tested tools to customize every car trip. We ran numerous tests to optimize battery consumption and make the app distinguish car trips from rides on other vehicles. We’ve managed to find a balance between motion tracking quality and battery drain. As a result, our developers designed a separate GPS tracking module to monitor mobile phone usage during the trip, affecting the outcome.
TECHNOLOGIES: Swift, Objectve C, Java, Kotlin
Data Stream Processing
Our engineers built up an IoT platform that obtains data on location and speed from mobile apps. It allows the platform to receive JSON data packages. Due to this information, the system can process, analyze, and plan trips.
TECHNOLOGIES: Elixir, Go, RabbitMq, Cassandra, Clickhouse, AWS S3
Scoring analyzer
Our developers have created a system to calculate scores based on trip data. We used an ML model to assess and build up new trips in line with previous inputs.
TECHNOLOGIES: Ruby, Python, TensorFlow
Backend
Backend is a separate module that includes the business logic for registration in the mobile app, adding new vehicles, and receiving ready trips from the Data Stream Processing module. It also allows processing statistics, creating email chains, SMS, and push notifications. In addition, the system has Graphql API for the platform and mobile app management.
TECHNOLOGIES: Elixir, Phoenix, RabbitMq, Redis, Postgresql, GraphQL, Oauth2
Management platform:
The management platform is the front-end app that lets administrators and insurance agents monitor the registration of new drivers and add vehicles to the system. Moreover, it allows editing email, SMS, push notification templates sent to the end-users. It processes data obtained from the Graphql client to manage all the users and generate different types of reports.
TECHNOLOGIES: React JS, GraphQL
Infrastructure
All the modules are autonomous, set in a separate docker in Kubernetes. They interact with each other across RabbitMq or Graphql API. We use Kibana and an autoscaler to monitor and log data.
TECHNOLOGIES: Docker, Kubernetes, Helm charts, Elastic, Logstash, Kibana
Outcomes
We’ve created a ground-breaking app on the market and set the trend for other insurance companies. The launch of the app allowed our client to increase their customer flow by 30%.