<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Projects</title><link>https://burakdede.com/projects/</link><description>Products I build for drivers in Türkiye (YolRadar, ŞarjBot, Yakıt Vakti) and open-source tools I write about, from AI Switcher to lorepack.</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://burakdede.com/projects/index.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Fri, 02 Oct 2026 12:00:00 +0200</lastBuildDate><item><title>YolRadar</title><link>https://burakdede.com/projects/yolradar/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0200</pubDate><guid isPermaLink="true">https://burakdede.com/projects/yolradar/</guid><description>YolRadar, Türkiye'deki sabit radar noktalarını, EDS hız koridorlarını ve hız limitlerini yola çıkmadan gösteren web sitesi ve iPhone uygulaması.</description><dc:creator>Burak Dede</dc:creator><content:encoded>&lt;p&gt;Uzun yola çıkmadan önce hep aynı soruyu soruyordum: bu güzergâhta nerede radar var, hangi bölümde ortalama hız ölçülüyor? Cevap birkaç farklı kaynağa dağılmıştı ve hiçbiri rotayı baştan sona göstermiyordu. &lt;a href="https://yolradar.com" target="_blank" rel="noopener noreferrer"&gt;YolRadar&lt;/a&gt; bu soruyu tek ekranda cevaplamak için yaptığım bir web sitesi ve iPhone uygulaması.&lt;/p&gt;
&lt;h2 id="ne-yapar"&gt;Ne yapar&lt;a class="hd-link" href="#ne-yapar" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sitede bir şehir, bulunduğunuz konum ya da iki nokta arasında bir rota seçiyorsunuz. YolRadar o bölgedeki &lt;a href="https://yolradar.com/radar-noktalari/" target="_blank" rel="noopener noreferrer"&gt;sabit radar noktalarını&lt;/a&gt;, EDS hız koridorlarını ve geçerli hız limitlerini harita üzerinde gösteriyor. 81 ilin her biri için ayrı bir sayfa var; örneğin &lt;a href="https://yolradar.com/radar-noktalari/istanbul/" target="_blank" rel="noopener noreferrer"&gt;İstanbul radar noktaları&lt;/a&gt;. Sık kullanılan şehirlerarası yollar ise hazır rota sayfaları olarak duruyor; &lt;a href="https://yolradar.com/rota/istanbul-ankara-radar-noktalari/" target="_blank" rel="noopener noreferrer"&gt;İstanbul–Ankara güzergâhı&lt;/a&gt; bunlardan biri.&lt;/p&gt;
&lt;p&gt;Toplamda 81 ilde 2.200’ün üzerinde denetim noktası, 400 hız koridoru ve 329 hazır rota bulunuyor. Sitede ayrıca bir &lt;a href="https://yolradar.com/hiz-cezasi-hesaplama/" target="_blank" rel="noopener noreferrer"&gt;hız cezası hesaplayıcı&lt;/a&gt;, bir &lt;a href="https://yolradar.com/radar-cezasina-itiraz-dilekcesi-olusturucu/" target="_blank" rel="noopener noreferrer"&gt;radar cezasına itiraz dilekçesi oluşturucu&lt;/a&gt; ve İçişleri Bakanlığı’nın kendi sorgu sayfasıyla &lt;a href="https://yolradar.com/iller-arasi-radar-karsilastirmasi/" target="_blank" rel="noopener noreferrer"&gt;karşılaştırma&lt;/a&gt; var.&lt;/p&gt;
&lt;figure class="screens web"&gt;
&lt;ul&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/yolradar/web-route_hu_bbfdad83a5eba4.webp" width="1440" height="900" alt="İstanbul–Ankara rota sayfası: radar noktaları, hız koridorları ve kısa cevap" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;İstanbul–Ankara rota sayfası: radar noktaları, hız koridorları ve kısa cevap&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/figure&gt;
&lt;h2 id="iphone-uygulaması"&gt;iPhone uygulaması&lt;a class="hd-link" href="#iphone-uygulamas%c4%b1" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://apps.apple.com/tr/app/yolradar-h%C4%B1z-koridoru-radar/id6769889042" target="_blank" rel="noopener noreferrer"&gt;YolRadar iPhone uygulaması&lt;/a&gt;, aynı bilgiyi yolculuk boyunca yanınızda taşıyor. Yola çıkmadan önce güzergâhtaki koridorları, ilk koridora kalan mesafeyi ve verinin ne kadar güncel olduğunu gösteren bir rota özeti hazırlıyor. Kaydettiğiniz rotalar için sabah, öğle ya da akşam bildirimi alabiliyorsunuz.&lt;/p&gt;
&lt;p&gt;Sürüş sırasında navigasyonu değiştirmeniz gerekmiyor. Rotayı Google Maps, Apple Haritalar ya da Yandex Navi’de açıyorsunuz, YolRadar arka planda çalışıyor. Koridora 5 km, 2 km ve 1 km kala sesli uyarı veriyor. Koridor içinde kalan mesafeyi ve limiti kilit ekranında Live Activity olarak, Dinamik Ada’da da canlı tutuyor. Yolculuk bitince geçtiğiniz koridorların özetini çıkarıyor. Uygulamanın tanıtım sayfası &lt;a href="https://yolradar.com/radar-uygulamasi/" target="_blank" rel="noopener noreferrer"&gt;YolRadar radar uygulaması&lt;/a&gt; adresinde.&lt;/p&gt;
&lt;figure class="screens"&gt;
&lt;ul&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/yolradar/route-summary_hu_9e12f63b9f7fbe6d.webp" width="640" height="1387" alt="Rota özeti: güzergâhtaki radar, koridor ve kontrol sayıları" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Rota özeti: güzergâhtaki radar, koridor ve kontrol sayıları&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/yolradar/incorridor-warning_hu_b9f0821708116c7c.webp" width="640" height="1387" alt="Koridor içinde: güvenli çıkış saati, hız ve limit" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Koridor içinde: güvenli çıkış saati, hız ve limit&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/yolradar/nav-integration_hu_47789752b33ad443.webp" width="640" height="1387" alt="Rota Google Maps, Apple Haritalar ya da Yandex Navi'de açılır" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Rota Google Maps, Apple Haritalar ya da Yandex Navi'de açılır&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/figure&gt;
&lt;h2 id="veri-nereden-geliyor"&gt;Veri nereden geliyor&lt;a class="hd-link" href="#veri-nereden-geliyor" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Hız koridorları İçişleri Bakanlığı’nın kamuya açık yayınından, hız limitleri Karayolları Genel Müdürlüğü’nden geliyor. Sabit radar noktaları ise birden fazla kaynağın çapraz kontrolüyle oluşturulan bir veri setinden. Kullanıcı bildirimi kullanmıyorum, çünkü yolda kimsenin doğrulayamadığı bir nokta, hiç bilgi olmamasından daha kötü.&lt;/p&gt;
&lt;p&gt;Veri canlı akmıyor, sürümler halinde yayınlanıyor. Kaynaklar haftalık ve aylık olarak işleniyor, her sürüm bir tarih taşıyor ve uygulama o tarihi açıkça gösteriyor. Hangi kaynağın neyi kapsadığı &lt;a href="https://yolradar.com/veri/" target="_blank" rel="noopener noreferrer"&gt;veri ve yöntem sayfasında&lt;/a&gt; ayrıntılı olarak anlatılıyor.&lt;/p&gt;
&lt;h2 id="teknik-tarafı"&gt;Teknik tarafı&lt;a class="hd-link" href="#teknik-taraf%c4%b1" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Web sitesi Astro ile yazıldı ve Cloudflare Workers üzerinde sunucu tarafında render ediliyor. İki nokta arası rota, Apple MapKit JS Directions ile hesaplanıyor. Sonuç, veri sürümüne bağlı bir anahtarla Cloudflare KV’de bir gün önbellekte tutuluyor; yeni veri yayınlandığında eski sonuçlar kendiliğinden geçersiz oluyor. Veri dosyaları Cloudflare R2’den sunuluyor. Her gece çalışan bir görev veriyi tazeliyor ve siteyi yeniden yayınlıyor.&lt;/p&gt;
&lt;p&gt;Ham veri ayrı bir işleme hattında birleştiriliyor ve elle tetiklenen bir yayın adımıyla yeni sürüm olarak çıkıyor. Kaynak veritabanı PostGIS üzerinde duruyor, site ise yalnızca yayınlanmış sürümü okuyor. Veri setinin hangi koşullarla yeniden kullanılabileceği &lt;a href="https://yolradar.com/legal/dataset-license/" target="_blank" rel="noopener noreferrer"&gt;veri seti lisansında&lt;/a&gt; yazıyor.&lt;/p&gt;
&lt;p&gt;iPhone uygulaması SwiftUI ile yazıldı. Arka plan uyarıları için konum takibini, kilit ekranı için Live Activity’yi ve önceden kaydedilmiş Türkçe sesli uyarıları kullanıyor. Pro abonelik StoreKit üzerinden yönetiliyor.&lt;/p&gt;
&lt;p&gt;YolRadar, Burak Dede tarafından geliştiriliyor ve resmi bir kurum uygulaması değil. Radarları önceden bilmek hız limitine uymanın yerine geçmez; amaç, ceza yemeden ve sürpriz yaşamadan varmak.&lt;/p&gt;</content:encoded></item><item><title>ŞarjBot</title><link>https://burakdede.com/projects/sarjbot/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0200</pubDate><guid isPermaLink="true">https://burakdede.com/projects/sarjbot/</guid><description>ŞarjBot, Türkiye'deki elektrikli araç şarj istasyonlarını fiyat, güç ve uyumluluğa göre karşılaştıran bağımsız bir web sitesi, iPhone uygulaması ve veri API'si.</description><dc:creator>Burak Dede</dc:creator><content:encoded>&lt;p&gt;Elektrikli araçla yola çıkınca asıl soru istasyonun nerede olduğu değil, hangisinde şarj etmenin mantıklı olduğu. Güç, soket, fiyat ve istasyonun gerçekten çalışıp çalışmadığı ayrı ayrı yerlerde yazıyor ve çoğu zaman tarihsiz. &lt;a href="https://sarjbot.com" target="_blank" rel="noopener noreferrer"&gt;ŞarjBot&lt;/a&gt; bu kararı tek yerde vermek için yaptığım bağımsız bir platform. Kendi tanımıyla bir istasyon listesi değil, bir karar aracı.&lt;/p&gt;
&lt;h2 id="ne-yapar"&gt;Ne yapar&lt;a class="hd-link" href="#ne-yapar" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sitede il, ilçe, adres, operatör ya da istasyon adıyla arama yapıyorsunuz. Sonuçları &lt;a href="https://sarjbot.com/sarj-istasyonu-haritasi/" target="_blank" rel="noopener noreferrer"&gt;şarj istasyonu haritasında&lt;/a&gt; ya da liste halinde görüyorsunuz; AC, DC ve 50 kW üzeri hızlı şarj ayrı ayrı süzülebiliyor. Türkiye’nin 81 ilinde 19.000’i aşkın istasyon kayıtlı; her il ve ilçenin kendi sayfası var, örneğin &lt;a href="https://sarjbot.com/sarj-istasyonlari/istanbul/" target="_blank" rel="noopener noreferrer"&gt;İstanbul şarj istasyonları&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Fiyat tarafında &lt;a href="https://sarjbot.com/sarj-fiyatlari/" target="_blank" rel="noopener noreferrer"&gt;şarj fiyatları&lt;/a&gt; sayfası operatörlerin yayımladığı AC ve DC kWh tarifelerini tek tabloda topluyor. Her operatörün ayrıca kendi sayfası var; &lt;a href="https://sarjbot.com/sarj-operatorleri/zes/" target="_blank" rel="noopener noreferrer"&gt;ZES&lt;/a&gt; bunlardan biri. Operatörler, verilerinin ne kadar eksiksiz ve güncel olduğuna göre bir veri karnesi notu da alıyor. &lt;a href="https://sarjbot.com/sarj-maliyeti-hesaplama/" target="_blank" rel="noopener noreferrer"&gt;Şarj maliyeti hesaplayıcı&lt;/a&gt; ise yüzde 20’den yüzde 80’e bir şarjın kaça mal olacağını, varsayımlarını tek tek yazarak hesaplıyor.&lt;/p&gt;
&lt;p&gt;Bir istasyonun soketleri şu an boş mu diye merak ettiğinizde, istasyon sayfasındaki düğme durumu EPDK’nın sisteminden anlık olarak soruyor. Bu sorgu yalnızca siz istediğinizde çalışıyor ve sonucu saklanmıyor.&lt;/p&gt;
&lt;figure class="screens web"&gt;
&lt;ul&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/sarjbot/web-prices_hu_1901f7cdca6fd3bc.webp" width="1440" height="900" alt="Şarj fiyatları: operatörlerin AC ve DC kWh tarifeleri tek tabloda" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Şarj fiyatları: operatörlerin AC ve DC kWh tarifeleri tek tabloda&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/figure&gt;
&lt;h2 id="veri-ve-bağımsızlık"&gt;Veri ve bağımsızlık&lt;a class="hd-link" href="#veri-ve-ba%c4%9f%c4%b1ms%c4%b1zl%c4%b1k" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ŞarjBot’un tek kuralı, her bilginin yanında kaynağını ve ne zaman doğrulandığını göstermek. İstasyon kayıtları EPDK’dan ve operatörlerin kendi yayınlarından geliyor; fiyatlar operatörlerin yayımladığı tarifelerden. Bilinmeyen bir değer tahmin edilip doldurulmuyor, “bilinmiyor” olarak gösteriliyor.&lt;/p&gt;
&lt;p&gt;Fiyatlar her gün, operatör istasyon listeleri her hafta yenileniyor. EPDK kaydı ise periyodik olarak birleştiriliyor. Fiyat geçmişi hiç silinmiyor, bu yüzden bir tarifenin zaman içindeki değişimi izlenebiliyor. Kapsama ve pazar payı rakamları &lt;a href="https://sarjbot.com/veri/" target="_blank" rel="noopener noreferrer"&gt;veri sayfasında&lt;/a&gt;, aylık piyasa değerlendirmeleri ise &lt;a href="https://sarjbot.com/blog/turkiye-elektrikli-arac-sarj-piyasasi-temmuz-2026/" target="_blank" rel="noopener noreferrer"&gt;Temmuz 2026 şarj piyasası raporu&lt;/a&gt; gibi yazılarda yayımlanıyor. ŞarjBot hiçbir operatöre ait değil ve sıralamalarda ücretli yerleşim yok.&lt;/p&gt;
&lt;h2 id="veri-apisi"&gt;Veri API’si&lt;a class="hd-link" href="#veri-apisi" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Aynı veri, navigasyon ve mobilite uygulamaları, otomotiv üreticileri ve analistler için bir REST API olarak da sunuluyor. API; istasyonları süzgeç ve yarıçapla aramayı, istasyon ayrıntılarını, operatör tarifelerini, kampanyaları ve fiyat geçmişini kapsıyor. Erişim anahtarla veriliyor. OpenAPI belgeleri &lt;a href="https://api.sarjbot.com/docs" target="_blank" rel="noopener noreferrer"&gt;api.sarjbot.com/docs&lt;/a&gt; adresinde, örnek veri ve pilot başvurusu &lt;a href="https://sarjbot.com/en/api/" target="_blank" rel="noopener noreferrer"&gt;ŞarjBot API sayfasında&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="iphone-uygulaması"&gt;iPhone uygulaması&lt;a class="hd-link" href="#iphone-uygulamas%c4%b1" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ŞarjBot’un iPhone uygulaması test aşamasında ve önce Türkiye’de App Store’a çıkacak. Uygulamada yakındaki istasyonlar harita ve liste olarak geliyor. Konum izni vermeden şehir seçerek de kullanılabiliyor. “Garaj” bölümüne aracınızı eklediğinizde hangi soketlerin uyduğunu ve aracın gerçekte kaç kW alabileceğini görüyorsunuz. Seans maliyeti tahmini, fiyat geçmişi, kayıtlı istasyonlar ve Apple Haritalar, Google Maps, Waze ya da Yandex’e yol tarifi aktarma da var. Ana ekran widget’ları ve “En yakın hızlı şarjı bul” gibi Siri kısayolları da var.&lt;/p&gt;
&lt;figure class="screens"&gt;
&lt;ul&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/sarjbot/nearby-map_hu_1e2bb68aa8f033f0.webp" width="640" height="1391" alt="Yakındaki istasyonlar haritada, ilçe bazında kümelenmiş" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Yakındaki istasyonlar haritada, ilçe bazında kümelenmiş&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/sarjbot/station-detail_hu_4f6329b36f4d74f4.webp" width="640" height="1391" alt="İstasyon ayrıntısı: soketler, fiyat aralığı ve verinin yaşı" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;İstasyon ayrıntısı: soketler, fiyat aralığı ve verinin yaşı&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/sarjbot/session-cost_hu_7aece40b3b044e68.webp" width="640" height="1391" alt="Tahmini şarj maliyeti ve varsayımları" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Tahmini şarj maliyeti ve varsayımları&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/figure&gt;
&lt;h2 id="teknik-tarafı"&gt;Teknik tarafı&lt;a class="hd-link" href="#teknik-taraf%c4%b1" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Veri hattı Python ile yazıldı ve GitHub Actions üzerinde zamanlanmış görevler olarak çalışıyor. Ham çıktılar Cloudflare R2’de, birleştirilmiş veri Neon Postgres’te duruyor. İstasyon eşleştirmesi bulanık eşleşmeyle yapılıyor ve düşük güvenli eşleşmeler ayrıca işaretleniyor. Her toplu yükleme bir denetimden geçiyor; denetim başarısız olursa yükleme bütünüyle geri alınıyor. Bir istasyon, tek bir eksik taramayla değil art arda iki kez görünmediğinde pasife çekiliyor.&lt;/p&gt;
&lt;p&gt;API, TypeScript ve Hono ile tek bir Cloudflare Worker olarak çalışıyor. Kiracı başına kota ve tekrar koruması Durable Objects ile tutuluyor, okuma uçları kenarda kısa süre önbellekleniyor. Web sitesi Astro ile Cloudflare Pages’te yayında ve haritada Apple MapKit JS kullanıyor. Tarayıcı API’yi hiçbir zaman doğrudan çağırmıyor; anahtar sitenin kendi sunucu uçlarında ekleniyor. Site, tarihli bir veri anlık görüntüsünden üretiliyor ve istasyon sayısı yüzde 10’dan fazla düşerse yayın kendiliğinden duruyor.&lt;/p&gt;
&lt;p&gt;iPhone uygulaması SwiftUI ve Swift 6 ile, modüllere ayrılmış yerel bir paket yapısında yazıldı. Harita için MapKit’i, widget’lar için WidgetKit’i, Siri ve Kestirmeler için App Intents’i kullanıyor. Sürücü bildirimleri çevrimdışıyken kuyruğa alınıyor ve bağlantı gelince gönderiliyor.&lt;/p&gt;
&lt;p&gt;ŞarjBot, Burak Dede tarafından geliştiriliyor. Herhangi bir şarj operatörünün resmi sitesi ya da uygulaması değil.&lt;/p&gt;</content:encoded></item><item><title>Yakıt Vakti</title><link>https://burakdede.com/projects/yakitvakti/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0200</pubDate><guid isPermaLink="true">https://burakdede.com/projects/yakitvakti/</guid><description>Yakıt Vakti, benzin, motorin ve LPG için beklenen zam ve indirimleri takip eden, deponuza etkisini hesaplayan ve EPDK fiyatlarını karşılaştıran bir platform.</description><dc:creator>Burak Dede</dc:creator><content:encoded>&lt;p&gt;Türkiye’de akaryakıt fiyatı birkaç günde bir değişiyor ve haber genellikle “gece yarısından itibaren” diye geliyor. O sırada asıl merak edilen şu oluyor: zam gerçekten gelecek mi, benim depoma kaç lira yansıyacak, bu akşam mı doldurmalıyım? &lt;a href="https://yakitvakti.com" target="_blank" rel="noopener noreferrer"&gt;Yakıt Vakti&lt;/a&gt; bu soruları cevaplamak için yaptığım bir web sitesi ve iPhone uygulaması. Sloganı da bunu söylüyor: “Zam gelmeden haberin olsun.”&lt;/p&gt;
&lt;h2 id="ne-yapar"&gt;Ne yapar&lt;a class="hd-link" href="#ne-yapar" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ana sayfada benzin, motorin ve LPG için tek bir durum satırı var. Beklenen bir değişiklik “Bekleniyor”, güncellenirse “Güncellendi”, iptal olursa “İptal edildi” olarak görünüyor. EPDK verisinde değişikliğin yönü görülünce de “Yansıdı” olarak işaretleniyor. Her yakıtın kendi sayfası var: &lt;a href="https://yakitvakti.com/benzine-zam" target="_blank" rel="noopener noreferrer"&gt;benzine zam&lt;/a&gt;, &lt;a href="https://yakitvakti.com/motorine-zam" target="_blank" rel="noopener noreferrer"&gt;motorine zam&lt;/a&gt; ve &lt;a href="https://yakitvakti.com/lpg-zammi" target="_blank" rel="noopener noreferrer"&gt;LPG zammı&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://yakitvakti.com/yakit-zam-hesaplama" target="_blank" rel="noopener noreferrer"&gt;Yakıt zam hesaplama&lt;/a&gt; aracı, beklenen değişikliğin sizin yakıtınız ve litrenizle deponuza kaç TL yansıyacağını gösteriyor. &lt;a href="https://yakitvakti.com/akaryakit-fiyatlari" target="_blank" rel="noopener noreferrer"&gt;Akaryakıt fiyatları&lt;/a&gt; sayfası 81 ildeki resmi il ve marka fiyatlarını karşılaştırıyor. İstanbul, Avrupa ve Anadolu yakası olarak ayrı ele alınıyor, iki yakanın ortalaması alınmıyor; örnek için &lt;a href="https://yakitvakti.com/sehir/istanbul/akaryakit-fiyatlari" target="_blank" rel="noopener noreferrer"&gt;İstanbul akaryakıt fiyatları&lt;/a&gt;. Geçmiş değişiklikler &lt;a href="https://yakitvakti.com/akaryakit-zam-gecmisi" target="_blank" rel="noopener noreferrer"&gt;akaryakıt zam geçmişinde&lt;/a&gt; duruyor, isteyen &lt;a href="https://yakitvakti.com/feed/degisimler.xml" target="_blank" rel="noopener noreferrer"&gt;RSS akışıyla&lt;/a&gt; takip edebiliyor.&lt;/p&gt;
&lt;h2 id="beklenti-ile-kesinleşmiş-fiyatı-ayırmak"&gt;Beklenti ile kesinleşmiş fiyatı ayırmak&lt;a class="hd-link" href="#beklenti-ile-kesinle%c5%9fmi%c5%9f-fiyat%c4%b1-ay%c4%b1rmak" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Yakıt Vakti’nin temel ilkesi, beklenen bir değişikliğin kesinleşmiş sayılmaması. Sektör ve ekonomi basınında duyurulan değişiklikler toplanıyor. Bir dil modeli metinden yakıt türünü, yönü ve tutarı çıkarmaya yardım ediyor, ama hiçbir şey kendiliğinden yayınlanmıyor; her yayını bir kişi onaylıyor. Yayından sonra değişiklik, EPDK’nın resmi verisiyle 15 dakikada bir karşılaştırılıyor.&lt;/p&gt;
&lt;p&gt;Haberlerde yazan tutar çoğunlukla dağıtım şirketinin brüt değişimi. Pompaya yansıyan tutar vergiler ve bayi marjı yüzünden farklı olabiliyor, bu yüzden ikisi ayrı gösteriliyor. Kaynak tarihi ile verinin çekildiği zaman da birbirinden ayrı tutuluyor. Yöntemin tamamı &lt;a href="https://yakitvakti.com/metodoloji" target="_blank" rel="noopener noreferrer"&gt;metodoloji sayfasında&lt;/a&gt; anlatılıyor.&lt;/p&gt;
&lt;h2 id="iphone-uygulaması"&gt;iPhone uygulaması&lt;a class="hd-link" href="#iphone-uygulamas%c4%b1" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Yakıt Vakti’nin iPhone uygulaması &lt;a href="https://yakitvakti.com/uygulama" target="_blank" rel="noopener noreferrer"&gt;yakında App Store’da&lt;/a&gt;. İlk açılışta yakıt türünüzü, bölgenizi ve genellikle kaç litre aldığınızı soruyor; sonraki her bildirim doğrudan deponuza etkisini söylüyor. Üç sekmesi var: Bugün, Yakınımda ve Takip.&lt;/p&gt;
&lt;p&gt;Bildirimler beklenen değişiklikleri, bunların güncellenmesini ya da iptalini haber veriyor. İlk uyarıyı alan herkes düzeltmeyi de alıyor. Yakınımda sekmesi yakındaki istasyonları liste ya da harita olarak gösteriyor. Her fiyatın türü yanında yazıyor: istasyon fiyatı, sürücü doğrulaması ya da marka ve bölge fiyatı. Fiyat farklıysa “Fiyat farklıydı” bildirimiyle haber verebiliyorsunuz; eklenen fotoğrafın konum bilgisi gönderilmeden önce siliniyor. Uygulama hesapsız çalışıyor, konum izni isteğe bağlı ve reklam ya da analitik SDK’sı içermiyor.&lt;/p&gt;
&lt;figure class="screens"&gt;
&lt;ul&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/yakitvakti/welcome_hu_6735563be3ffca67.webp" width="640" height="1391" alt="Karşılama: benzin, motorin ve LPG için beklenen değişiklikler" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Karşılama: benzin, motorin ve LPG için beklenen değişiklikler&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/yakitvakti/nearby-list_hu_17e63dca52590e0b.webp" width="640" height="1391" alt="Yakınımda: yakıt ve litreye göre yakındaki istasyonlar" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Yakınımda: yakıt ve litreye göre yakındaki istasyonlar&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;img src="https://burakdede.com/projects/yakitvakti/nearby-map_hu_f476b376426974d5.webp" width="640" height="1391" alt="Yakınımda haritası: istasyon fiyatları ve türleri" loading="lazy" decoding="async"&gt;&lt;p class="cap"&gt;Yakınımda haritası: istasyon fiyatları ve türleri&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/figure&gt;
&lt;h2 id="veri-nereden-geliyor"&gt;Veri nereden geliyor&lt;a class="hd-link" href="#veri-nereden-geliyor" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ulusal fiyatlar EPDK’nın günlük bayi satış fiyatı bülteninden, il ve marka fiyatları da dağıtım şirketlerinin EPDK’ya yaptığı fiyat bildirimlerinden geliyor. LPG için otogaz bildirimleri ayrıca taranıyor. Son bildirimi bölgedeki en güncel bildirimin 30 günden fazla gerisinde kalan markalar, eski bir fiyatı güncelmiş gibi göstermemek için listeden çıkarılıyor. İstasyon kimlikleri ve adresleri EPDK lisans kayıtlarından alınıyor.&lt;/p&gt;
&lt;h2 id="teknik-tarafı"&gt;Teknik tarafı&lt;a class="hd-link" href="#teknik-taraf%c4%b1" aria-label="Link to this section" data-pagefind-ignore&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Arka uç TypeScript ile yazıldı ve Cloudflare Workers üzerinde üç ayrı işçi olarak çalışıyor: API, zamanlanmış görevler ve site. Veri Cloudflare D1’de, ham yanıtlar sıkıştırılmış olarak R2’de tutuluyor. Bütün zamanlanmış işler tek bir 15 dakikalık tetikleyiciden yönetiliyor. D1’e yalnızca değişen satırlar yazılıyor. Yakındaki istasyon araması PostGIS yerine D1 üzerinde geohash hücreleriyle yapılıyor. Para tutarları kuruş cinsinden tam sayı olarak saklanıyor, böylece yuvarlama hatası oluşmuyor. Yanıtlar ETag ile önbellekleniyor ve uygulama, verinin ilk alındığı zamanı önbellekte de koruyor.&lt;/p&gt;
&lt;p&gt;Web sitesi Astro ile statik olarak üretiliyor ve Cloudflare üzerinden sunuluyor; JavaScript kapalıyken de çalışıyor. iPhone uygulaması SwiftUI ve Swift 6 ile yazıldı. Bildirimler için APNs, abonelik için StoreKit 2, grafikler için Swift Charts ve harita için MapKit kullanıyor. Çevrimdışıyken son veriyi diskteki önbellekten gösteriyor.&lt;/p&gt;
&lt;p&gt;Yakıt Vakti, Burak Dede tarafından geliştiriliyor. Gösterilen fiyatlar bilgi amaçlıdır; istasyondaki gerçek pompa fiyatı farklı olabilir.&lt;/p&gt;</content:encoded></item></channel></rss>