yatatodo
Yatatodo, yapılacak işleri kaydetmenin ötesinde, günün sınırlı zamanını hangi görevlere ayıracağını düşünmeye yardımcı olan kişisel bir görev uygulaması. Gemini Flash destekli planlama, kararın kendisini kullanıcıya bırakan bir sıra ve süre önerisi sunuyor.
- Teknolojiler
- React · TypeScript · Vite · Gemini Flash

Problem
Günlük görevleri yalnızca kaydetmek yerine, kullanıcının ayırabileceği sınırlı süreye uygun bir sıraya koymak.
Çözüm
Görev ekleme, düzenleme, tamamlama ve filtreleme; Gemini Flash ile önerilen sıra, süre ve gerekçeyle bir araya geliyor. Son karar kullanıcıda kalıyor.
Teknik karar
Görevler saf reducer ile yönetiliyor. Model yanıtındaki bilinmeyen ve yinelenen kimlikler eleniyor, atlanan görevler ekleniyor; toplam süre kapasiteyi aşarsa yeniden ölçekleniyor.
Mevcut sınırlar
Hesap ve cihazlar arası eşitleme yok. Görevler ve kullanıcı API anahtarı tarayıcıda saklanıyor; herkese açık sürüm için anahtar yönetimi ayrıca ele alınmalı.
Ekranlar ve doğrulama kapsamı
Ekran görüntüsü görevler ile günlük planı birlikte gösteriyor. Kaynak kodunda reducer ve plan yanıtı denetimi incelenebilir; ölçülmüş bir başarı veya performans sonucu sunulmuyor.
Projenin hikâyesi ve uygulama ayrıntıları
Yatatodo, günlük işleri yalnızca kaydetmek yerine eldeki zamana göre uygulanabilir bir sıraya koyma ihtiyacına odaklanan kişisel görev uygulaması. Farklı notlar arasında kalan işleri tek yerde topluyor; kullanıcıya bugün neye başlayacağını ve her işe yaklaşık ne kadar zaman ayıracağını düşünürken yardımcı oluyor. Yapay zekâ tarafından hazırlanan plan bağlayıcı bir takvim değil, son kararı kullanıcıya bırakan bir öneri.
Görev ekleme formu başlık, öncelik ve tarih alıyor; tarih başlangıçta bugüne ayarlanıyor ve öncelik açıkça seçiliyor. Boş başlık gibi geçersiz girdiler hem formda hem görev kurallarında reddediliyor. Eklenen görevler düzenlenebiliyor, tamamlanabiliyor, silinebiliyor ve tümü, açık veya bitti görünümleriyle ayrıştırılabiliyor. Tarih filtresi ve yakın/uzak sıralaması, kalabalık listede belirli bir günü bulmayı kolaylaştırıyor. Görevler sayfa yenilendiğinde de aynı tarayıcıda korunuyor.
Günlük planlama akışı kullanıcının ayırabileceği toplam süreyi alıyor ve yalnızca bugünün tamamlanmamış görevlerini Gemini Flash'a iletiyor. Model önerilen sırayı, görev başına dakikayı ve kısa gerekçeyi yapılandırılmış bir yanıtla döndürüyor. Sonuç, toplam zamanı gösteren yatay çizgi ve görev sürelerini karşılaştıran çubuklarla sunuluyor. Kullanıcı böylece önerinin kapasitesini aşıp aşmadığını ve hangi işe neden daha fazla süre ayrıldığını görebiliyor.
React 19, TypeScript ve Vite üzerinde görev işlemleri saf bir reducer'da tanımlı; tarayıcıya kaydetme ayrı bir hook tarafından yönetiliyor. Gemini servisi istek biçimini kuruyor, yanıtı uygulamanın plan modeline dönüştürüyor ve modelden gelen görev kimlikleriyle süreleri doğruluyor. Bilinmeyen veya yinelenen kimlikler eleniyor; atlanan görevler açıklayıcı notla ekleniyor; toplam süre kapasiteyi aşarsa dağılım yeniden ölçekleniyor. Kota, geçici hata veya zaman aşımı durumlarında Flash modelleri arasında geçiş ve çalışan isteği iptal etme desteği var.
Masaüstünde form ve liste yan yana, dar ekranda tek sütunda çalışıyor. Form uyarıları, erişilebilir adlar, klavyeyle kullanılabilen ve Escape ile kapanan pencereler ile azaltılmış hareket tercihi arayüzün parçası. Proje; görev durumunu tutarlı yönetme, üçüncü taraf model yanıtına körü körüne güvenmeme ve yapay zekâ sonucunu kullanıcıya açıklanabilir biçimde sunma deneyimini bir araya getiriyor. Hesap sistemi veya cihazlar arası eşitleme henüz yok.