From F1 to My Car: Building a Driving Analytics Project

From F1 to My Car: Building a Driving Analytics Project

- 6 mins

I like watching Formula 1. It is one of the most complicated sports. Driving those cars requires so much physical effort and building those cars requires so much engineering effort. Data is involved in sports as always and Formula 1 could be the sport that generates the most amount of data. They use data to build cars or to make race strategies. If we talk about race strategy, they mostly use telemetry data. Telemetry data is basically real-time data collected from sensors on the car, including parameters like speed, tire temperature, fuel usage, engine performance and driver inputs. Those data points are recorded every 1 millisecond (wow!). F1 teams analyze this data to optimize performance, strategy and reliability. Luckily, we also have access to that telemetry data. You can use the Fast F1 Python package to access Formula 1 results, schedules, timing data and telemetry data. I always think about building a project using that package. As you can imagine, it is not easy to build. But I did something more similar.

Inspiration

Nowadays, I started playing the F1 24 game on my PlayStation. It is really fun. Even with the controller, the driving experience is amazing. The more interesting part for me is that this game also enables us to get telemetry data. Yes, you can take your real-time telemetry data. I wrote a basic Python script to listen to that data. It is in binary format over UDP packets, so you need to decode the binary packets to get the needed data points. I stopped at that part because there are already some open-source packages designed to read and decode telemetry data for this game. When I searched the web, I found more tools and apps designed for this game. For example, during a race, you can open an app on your second screen to see more info (live map, stats, lap records, setup suggestions, etc.). I really like P1 Telemetry for anyone who is interested.

Then I thought, can I build something similar for real life? I mean, collecting data from my car and building some visualizations, stats and basically a dashboard… But I don’t think I am able to collect any data from my 2012 VW Jetta :) So I thought about using the most powerful device that I have (my iPhone📱) to collect data. I was planning to use GPS so I would be able to collect some basic data like location, speed, and distance. Of course, this is a small amount of data compared to telemetry data, but my purpose was just to make it happen.

Starting to build

My plan was simple: building an iOS app that generates data and a web dashboard that visualizes my driving and provides some insights.

The problem is, as a data engineer, I don’t know how to code a mobile app or a web interface with the features I want. So at this point, I wanted to give a chance to AI IDE’s like Cursor and Windsurf. I had done some small tests with them before, but I hadn’t tested their full capabilities. This was also a good chance to test them.

Transporter Telemetry

I started development with the mobile app. I wanted to generate my data first. My methodology was writing simple documentation about my app. It included some info about what my app does, which technologies it will use and which key features it has. After that, I gave my documentation to Gemini and asked it to generate a PRD (Product Requirements Document). Once it was done, I started developing my app feature by feature with Windsurf.

It was not a straightforward process. I had to solve many problems, bugs and issues. Doing 70% of the app was quick, but the rest was a bit of a painful process. However, I handled it properly and successfully built the app. Basically, it records my driving. It collects data using the SwiftUI Core Location library. Every 1000 ms (yes, 1000x slower than F1 telemetry, but this is enough 😊), it records my location (longitude, latitude), speed, and distance. You can also add your tire type, car model, and driver for more data. Since it isn’t connected to my car, of course, I don’t have detailed driving data like throttle, braking, or gear usage. I extracted as much data as possible from my phone.

You can check the repository of this app here -> Transporter Telemetry

Unfortunately, it is not on the App Store, yet. If I start producing more iOS apps, then I might consider buying an Apple Developer Account and launching my apps._

The Transporter

The Transporter Telemetry app generates data as JSON files. So we have the driving data. I wanted to build a dashboard that would calculate some statistics like max speed, total distance, average speed, and total time from this data and also display my driving on a graph. Additionally, I wanted to compare my trips with other trips.

I planned to use Next.js. I followed the same procedure as I did with the iOS app: I wrote documentation and generated a PRD with Gemini. After that, I started implementing my features one by one using Cursor.

The challenging part was Route Visualization. I wanted to show my trip on a map view. I wanted to indicate my throttle and braking with green/red colors, along with a navigation cursor. I broke many things during this process, but using git commits after completing each feature helped me a lot. Because when something broke, I could revert to a previous version with Git. After completing the small details, I deployed my project to the web. You can visit the-transporter-inky.vercel.app and test it yourself.

Github repo for The Transporter

So basically…

By getting inspiration from F1, I built my own driving analytics tools. I could say I enjoyed the process a lot. I tested the capabilities of AI tools (which also helped me understand the future of AI programming) and also worked with data that I generated myself. As a data engineer, I usually work with third-party data, but it is more fun when you are the owner of the data. You have more control over it and can modify it as you wish.

I have stopped developing this project. But in my imagination, I was thinking about this project as a social driving application. Everything would be inside the mobile app, and people would follow their friends and track their driving sessions. Maybe we will continue developing it—maybe one day?

Deniz Arda Aslan

Deniz Arda Aslan

Engineer. Reads, thinks and writes.

comments powered by Disqus
Deniz Arda Aslan © 2025