We wanted to improve the driving experience, using the different sensors a modern car has. The idea of gamifying the driving experience came naturally. So we decided to create a mobile application where a driver can compete with his peers through driving better on the road.

What it does

It uses the sensors from the phone application and from the XDK to calculate a score. This score is then sent over to a server that calculate a daily ranking. So at the end of the day you can see how well you did on your own and against everyone else.

How I built it

It's a Java Android app, a web server build in Python with Flask and a C program for the sensor. The android application use the HERE geolocalisation service and the data coming from the sensors to detect when the driver is behaving badly. (going over the speed limit, ..)

Challenges I ran into

The connection between the Android app and the sensors took us a lot of time to get it right because of multiple issue with how the Bluetooth Low Energy is done on Android as opposed to ios. Thankfully using the official application as a reference we were able to make it work. The web server also gave us a hard time to make it be visible to the mobile phone, it was working fine but we needed to be configured properly for anyone to access it.

What is next for Driving Coach Gaming

Currently the data analysis on the phone is not perfect, it hasn't been tested in a real car and could probably be more refined for a better accuracy in score ranking. The web server is not finished yet and the ranking is not displayed on the mobile phone application. More advanced gamification techniques could be used that rely on the improvement over time of each driver individually. But this could be added pretty simply now that the architecture is in place.

Share this project: