<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://denizaa.com/feed.xml" rel="self" type="application/atom+xml" /><link href="http://denizaa.com/" rel="alternate" type="text/html" /><updated>2025-11-26T15:20:50+00:00</updated><id>http://denizaa.com/feed.xml</id><title type="html">Deniz Arda Aslan</title><subtitle>A blog about personal thoughts, technology, experiences and books.</subtitle><entry><title type="html">From F1 to My Car: Building a Driving Analytics Project</title><link href="http://denizaa.com/driving-analytics/" rel="alternate" type="text/html" title="From F1 to My Car: Building a Driving Analytics Project" /><published>2025-02-23T19:00:00+00:00</published><updated>2025-02-23T19:00:00+00:00</updated><id>http://denizaa.com/driving%20analytics</id><content type="html" xml:base="http://denizaa.com/driving-analytics/"><![CDATA[<p>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 <strong>1 millisecond</strong> (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 <a href="https://github.com/theOehrly/Fast-F1">Fast F1</a> 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.</p>

<h2 id="inspiration">Inspiration</h2>
<p>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 <strong>binary format</strong> over <strong>UDP packets</strong>, 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 <a href="https://apps.apple.com/tr/app/p1-telemetry/id6452589420">P1 Telemetry</a> for anyone who is interested.</p>

<div align="center"><img src="/assets/images/post_photos/driving_analytics/p1-telemetry.png" /></div>

<p>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.</p>

<h2 id="starting-to-build">Starting to build</h2>
<p>My plan was simple: building an iOS app that generates data and a web dashboard that visualizes my driving and provides some insights.</p>

<p>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.</p>

<h3 id="transporter-telemetry">Transporter Telemetry</h3>
<p>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.</p>

<p>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 <strong>1000 ms</strong> (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.</p>

<p>You can check the repository of this app here -&gt; <a href="https://github.com/denizardaslan/transporter-telemetry">Transporter Telemetry</a></p>

<div align="center"><img src="/assets/images/post_photos/driving_analytics/transporter-telemetry.gif" width="200" /></div>

<p><em>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._</em></p>

<h3 id="the-transporter">The Transporter</h3>
<p>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.</p>

<p>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.</p>

<p>The challenging part was <strong>Route Visualization</strong>. 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 <a href="https://the-transporter-inky.vercel.app">the-transporter-inky.vercel.app</a> and test it yourself.</p>

<div align="center"><img src="/assets/images/post_photos/driving_analytics/transporter 22.18.15.gif" /></div>

<p><a href="https://github.com/denizardaslan/the-transporter">Github repo for The Transporter</a></p>

<h2 id="so-basically">So basically…</h2>
<p>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.</p>

<p>I have stopped developing this project. But in my imagination, I was thinking about this project as a <strong>social driving application</strong>. 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?</p>]]></content><author><name>deniz</name></author><category term="blog" /><category term="data" /><category term="f1" /><summary type="html"><![CDATA[Inspired by Formula 1 telemetry, I built my own driving analytics system using AI tools, mobile data collection, and a web dashboard to visualize and analyze my trips.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://denizaa.com/assets/images/post_photos/driving_analytics/schumi.jpg" /><media:content medium="image" url="http://denizaa.com/assets/images/post_photos/driving_analytics/schumi.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">[TR] Aşırı Mühendislik</title><link href="http://denizaa.com/asiri-muhendislik/" rel="alternate" type="text/html" title="[TR] Aşırı Mühendislik" /><published>2020-10-21T21:00:00+00:00</published><updated>2020-10-21T21:00:00+00:00</updated><id>http://denizaa.com/asiri%20muhendislik</id><content type="html" xml:base="http://denizaa.com/asiri-muhendislik/"><![CDATA[<h2 id="en-iyisi-mi-hayır-teşekkürler">En iyisi mi? Hayır, teşekkürler…</h2>

<p>Not alma ve verimlilik gibi konularla ilgiliyseniz <strong>Notion</strong> isimli uygulamayı büyük ihtimal duymuşsunuzdur. Bilmeyenler içinse Notion, 2018 yılında piyasaya çıkan, not tutmaktan proje yönetimine bir çok kullanım amacını karşılayan çok güçlü bir uygulama. Son bir kaç ayda ise büyük bir kullanıcı kitlesine ulaştığını da eklemek istiyorum.</p>

<p align="center">
    <img src="/assets/images/post_photos/asiri_muhendislik/image-20201021205041886.png" alt="image-20201021205041886" style="zoom:33%;" />
</p>

<p>Benim içinse Notion, çıktığı ilk günden beri kullanmaya çalıştığım, çabaladığım ve en sonunda sürekli pes ettiğim bir uygulama oldu. Defalarca kez bu döngüye girmemin sebebi ise uygulamanın sunduğu özelliklerin oldukça cezbedici olması. Notion’ın çok güçlü bir uygulama olduğunu söylemeliyim. <strong>Evernote, Trello, Excel, Calendar</strong> gibi uygulamaların birleşimi, hatta bazı yerlerde çok daha fazlası. Kendi tabirleriyle <strong>“All-in-one workspace”</strong> bir uygulama. Teker teker bu uygulamalara girmek yerine “all in one” bir uygulama gerçekten çok cezbedici geliyor. Bu sebepten dolayı da defalarca kez Notion’a geçmeye çalıştım fakat sonu hep hüsranla bitti.</p>

<p>Bunun hüsranın temel nedeni ise Notion’ın çok iyi bir uygulama olması. Evet, gerçekten çok iyi bir uygulama. Uçsuz bucaksız Notion dünyasında yapamayacağımız, kişiselleştiremeyeceğimiz bir şey yok gibi. Tabi bunun da beraberinde getirdiği bazı sorunlar yok değil.</p>

<p>Karmaşıklık, Notion dünyasına ilk adımı attığımdan beri peşimi bırakmayın bir şeydi. Yaptığı her işi olabildiğince basit hale getirmeye çalışan şahsım için karmaşık şeylerden ne kadar hoşlandığımı tahmin edebiliyorsunuzdur :) Karmaşıklık gerçekten büyük bir engel, <strong>friction</strong> (verimlilik konusuna ilgiliyseniz bu kavramı araştırmanızı tavsiye ederim, sürtünme diye çevirmek istemedim). Uygulama içerisinde yapacaklarımızın bir sınırının olmayışı, beni sürekli daha karmaşık bir yapıya sürükledi ve friction’ı arttırdı. (O yüzden bazen uygulama limitleri de yararlı olabiliyor. Süreci olabildiğince basit tutup verimi attırmak önemli bir nokta.) Bir diğer sorun ise üzerinde zaman harcamaya çok müsait olması. Şunu şöyle yapayım, burada roket iconu kullanayım, bu sayfanın kapak resmi manzara olsun, burada linked database kullanayım derken bir bakıyorsun saatler geçmiş… <strong>Productivity tool</strong> dediğimiz bu araçların bizim daha verimli çalışmamızı sağlaması gerekirken, Notion benim için bir <strong>unproductivity tool</strong> haline geldi. Uygulamada geçirdiğim vakit artıyor, verimim ise tam tersi istikamette düşüyordu. Bu yüzden cezbedici tüm özelliklerine rağmen Notion’a geçiş denemelerimi sonlandırmaya karar verdim. Aynı sorunlardan tek ben mi müzdaribim derken ise şöyle bir entry’e denk geldim:</p>

<p align="center">
    <img src="/assets/images/post_photos/asiri_muhendislik/image-20201012215615199.png" alt="image-20201012215615199" style="zoom:80%;" />
</p>

<h2 id="nedir-bu-overengineering">Nedir bu overengineering?</h2>

<p><strong>Overengineering</strong> ilk kez duyduğum bir kavramdı. Bu kavramı araştırırken yıllar önce izlediğim bir belgeselle bağlantısı olduğunu görünce ise beni çok heyecanlandırdı. Öncesinde “overengineering” kavramını açıklamak istiyorum. Kelime olarak “aşırı mühendislik”, anlam olarak ise “bir ürünü gerçekleştirirken aşırıya kaçma olayı” şeklinde bir anlam barındırıyor. Benim izlediğim belgeselle olan bağlantısı ise Almanların meşhur tankı <strong>King Tiger</strong>‘dan geliyor.</p>

<p>Overengineering kavramını açıklamak için en sık kullanılan örneklerden birisi, II.Dünya Savaşı’nda kullanılan King Tiger tankları.</p>

<p align="center">
    <img src="/assets/images/post_photos/asiri_muhendislik/image-20201021203105087.png" alt="image-20201021203105087" style="zoom: 50%;" />
</p>

<p>Hitler’in “ne kadar büyük o kadar iyi” mentalitesini belki duymuşsunuzdur. Bu mentalitenin en büyük eserlerini II.Dünya Savaşı sırasında Nazi Almanyası’nda gördük. 5 tonluk <strong>Panzer</strong> tankı ile başlayan Alman tankları, Ferdinand Porsche’nin yaptığı (evet, Porsche’nin kurucusu) devasa Maus tankına kadar büyüyecekti (10 metre uzunluğunda, 188 ton ağırlığında).</p>

<p>King Tiger tankına dönecek olursak 75 tonluk bu devasa tank, hali hazırda oldukça güçlü Tiger I tankının devamı niteliğindeydi. Çok daha büyük, çok daha ağır ve çok daha güçlüydü. Tiger I tankı ise Almanların “el yapımı” şahesereydi. El yapımı ve karışık dizaynının doğurduğu bazı sorunları mevcuttu (bakımı çok zordu, savaş alanında arızalanan tigerlar tamir edilemiyordu ve düşmanların eline geçmesin diye alman askerleri tarafından imha ediliyordu). King Tigerlar ise hali hazırdaki Tiger I tanklarının karışıklığına karışıklık katacaktı.  <strong>Overengineering</strong> kavramı da aslında tam olarak burada devreye giriyor. Tiger I tankları, müttefik tanklarını kolaylıkla etkisiz hale getiren çok güçlü bir tanktı. Yerini ise <strong>daha fazla zaman, kaynak ve emek gerektiren</strong> King Tiger tankları almış oldu. Kaynakların muazzam öneme sahip olduğu II.Dünya savaşında, yüksek kaynak gerektiren King Tiger’lardan sadece 492 tane üretildi. Sovyetler Birliği ise savaş sırasında yaklaşık 3.900 IS-2 tankı üretti. Sovyetler toplamda 108.000’den fazla tank üretirken Amerikalılar ise 88.000 Sherman tankı üretti. (ABD’nin Tigerları yok etmek için ürettiği Sherman Firefly tankını, Sherman tanklarının üzerine daha güçlü silahları monte ederek ürettiğini de belirtmek istiyorum.)</p>

<p>Aşırı ağır, aşırı komplike süper silahlı tanklar yapmak işe yaramadığı anlaşılan II.Dünya Savaşında, Amerikalılar seri üretimde olan orta büyüklükteki bir tankı alıp geliştirip, sayıca daha az ama daha güçlü olan Tiger tanklarını mağlup etmeyi başarmıştı. <em>“Sonuçta daha kötü ama daha çok Sherman’a sahip olmanın daha iyi olduğu ortaya çıktı.”</em></p>

<p><em>“II.Dünya Savaşı, malzemeyi korkunç bir hızla yiyip bitiren bir üretim yarışmasıydı. 500’den az King Tiger, ne kadar güçlü olursa olsun, sonucu değiştirmeyecekti.”</em></p>

<h2 id="peki-sonuç">Peki sonuç?</h2>

<p>Gelelim en başa. Notion overengineering bir ürün müdür bilmiyorum fakat daha iyisi her zaman <strong>en iyi</strong> olmayabiliyor. Aslında kullanım amaçlarımız “en iyi” kavramını şekillendiriyor. Notion iyi bir ürün, ama benim kullanım koşullarımda “en iyisi” değil. Daha vasat gözüken ama benim kullanım amacıma daha iyi şekilde hizmet eden ürünün benim için daha iyi olduğuna kanı getirdim. Genel olarak bu hikayeden kendime çıkardığım derste bu oldu.</p>

<p>En iyisi mi? Hayır, teşekkürler…</p>

<p><br />
<br />
Bu yazıyı yazarken yararlandıklarım:</p>

<p><a href="https://eksisozluk.com/entry/110722745">https://eksisozluk.com/entry/110722745</a></p>

<p><a href="https://nationalinterest.org/blog/reboot/meet-hitlers-huge-king-tiger-tank-nazi-germanys-paper-tiger-164232">https://nationalinterest.org/blog/reboot/meet-hitlers-huge-king-tiger-tank-nazi-germanys-paper-tiger-164232</a></p>

<p><a href="https://eksisozluk.com/entry/30938077">https://eksisozluk.com/entry/30938077</a></p>

<p><a href="https://en.wikipedia.org/wiki/Panzer_I">https://en.wikipedia.org/wiki/Panzer_I</a></p>

<p><a href="https://www.youtube.com/watch?v=aAIFQcQ1gd8">https://www.youtube.com/watch?v=aAIFQcQ1gd8</a> (Nazilerin Mega Yapıları - Süper Tanklar Belgeseli)</p>]]></content><author><name>deniz</name></author><category term="blog" /><category term="mühendislik" /><category term="worldwar2" /><summary type="html"><![CDATA[Overengineering kavramı ve Alman Tiger tankı arasındaki bağlantıyı ele alan bu yazı, iyi ve kötü kavramlarını yeniden sorgulamamızı sağlıyor.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://denizaa.com/assets/images/post_photos/asiri_muhendislik/image-20201021203105087.png" /><media:content medium="image" url="http://denizaa.com/assets/images/post_photos/asiri_muhendislik/image-20201021203105087.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>