Project Overview
A leading provider of telematics and mobile tracking solutions approached SpiceFactory to design and develop a vehicle tracking app that would allow users to track and monitor their cars using an OBD device.
The app needed to provide superior user experience that would make setting up an OBD device and monitoring their car effortless for the user.
Design and engineering challenges
On the design front, the main challenge for our team was figuring out how to make complex data and a feature-rich app easily consumable to the end user.
On the engineering side, the main challenge was big data processing. The app needed to log and process all tracking information (10 million events/day) and deliver critical notifications in a matter of seconds.
The design process
We started with rough sketches on paper and then created wireframes and user flows based on them. After completing the first draft of the wireframes, we ran another round of internal user testing for quick validation.
This step was essential for reducing the visual clutter and detecting pain points very early in the design process.
The final UI/UX solution
Our team went through many design iterations, determined to find the most optimal interface while staying within the project budget.
The final product of the design phase was an intuitive interface that keeps the users focused on the important stuff (the app’s core functionality) and informs them when there’s a need for their attention.
Software architecture
The app needed to be able to effectively process live car movement events (e.g. geofence breach, harsh braking and acceleration, power loss, etc.) and present them to the user in real time.
The backend solution was written in Scala utilizing Akka Streams for complex data pipelines and LevelDB as highly-performant repository for events, while feeding 3rd party MySQL database with aggregated data structured for easy consumption.