android
java
rest api
angular
html5
css3
Alex's a young and enthusiastic entrepreneur with a passion for technologies and innovation and a background in rally racing. He's come to us with an idea of a new technology which could change the rally world. A mobile app that would improve situational awareness of rally crews, provide real time data about car status, enhance navigation experience, possibly even eliminate the need for a co-driver.
The aim was to deliver a mobile application for tablets that would, in particular, be used by OBD connectors in vehicles. In order to provide crew with current status information and warnings if dangerous or critical values are found in any of the car’s systems, OBD software would read live data from the vehicle system sensors and display it to them. Moreover, the app would include navigation features such as a map which shows current track and location of vehicle on this path along with pace notes.
After assessment of all requirements and options, we decided to do a hybrid app for easier portability. However, the main target platform was Android. We build native Android backend in Java, with REST API and HTML 5 frontend on top of that. We've been faced with a number of technological challenges, as you might imagine. Communication with OBD interface was a major challenge. This part required a lot of research because we didn't have any experience with car internal electronics. Once we sorted out all communication problems, it was a little easier to calculate and display the data on board so the crew could read them as quickly as possible. It was necessary to remember that they were only capable of looking at the screen for a brief moment and then seeing everything in front of them, since their attention must be mainly on the road.
The navigation feature was another hard part. We had to find some way to make it easy to create and import tracks that are aligned with the GPS coordinates. Then we needed to come up an algorithm that automatically creates pace notes for every curve on the track. The curve's overall angle of view, sharpness, distance to the next curve and several properties were also taken into account. All based on GPS coordinates.
This was a really big project, and we've had considerable doubts about whether that can be done. We've managed, however, to find a solution for all of the problems and it was one of the most enjoyable software deliveries because we started testing on our own cars. In order to assess whether SmartPilot could really change modern motorsports, it's currently in the longer term testing and evaluation phase.
2 x Java developer
2k lines of Java code