Bir backend kıdemlisinin ilk mobil uygulaması: 5 ay boyunca vibe coding ile yapılan fotoğraf galerisi (iOS yayında / Android beta)
(zizi.tnstory.co.kr)Merhaba. Ben bir backend kıdemli geliştiricisiyim.
Uygulama/frontend deneyimim hiç yoktu ama ilk kez yalnızca vibe coding ile bir mobil uygulama yaptım.
5 ay sürdü; iOS sürümü yayımlandı, Android ise bireysel geliştirici politikası kısıtları nedeniyle kapalı beta aşamasında.
Neden yaptım
Bir gün kızım, "Fotoğraf depolama alanı yetersiz ama silmek çok zahmetli" dedi. Bunun üzerine 'hızlı silme·sınıflandırma·arama yapan bir galeri uygulaması'nı hafifçe başlamıştım, ama geliştirdikçe özellikler sürekli arttı.
Başlıca özellikler
- Hızlı düzenleme (Quick Cull) — kaydırarak karşılaştırma ve tek seferde toplu silme
- OCR metin araması — Apple Vision / Google ML Kit kullanarak fotoğraflardaki yazılarla arama
- Yer adı araması — GeoHash + Reverse Geocoding ile 180 ülke desteği (OSM açık verisi, Kore için ayrıca idari mahalle DB’si kuruldu)
- Cihazlar arası senkronizasyon/yedekleme — Google Drive + CDC pattern (akıllı telefon ↔ tablet)
- Etiket/konum/takvim araması — on binlerce fotoğrafı bile birkaç saniyede bulma
Teknoloji yığını
- React Native + Expo (newArch)
- Kısmen Native — Swift, Kotlin (OCR/fotoğrafların hızlı render edilmesi gibi platforma bağımlı alanlar)
- Supabase + Google OAuth
- Reanimated 4, FlashList v2
- SQLite + FTS5 (yerel arama)
Geliştirirken hissettiklerim
Yapay zeka her şeyi halledecek gibi görünse de, gerçekte doğrudan kod yazma seviyesinde epey angarya (prompt) gerekiyor. Özellikle platformlara göre davranış farkları ve performans ayarı konusunda sonunda insanın tek tek bakması gerekti (gerçi bu süreçte de yapay zekadan yardım aldım).
Yer adı araması için 180 ülkelik veri setini kurdum (ülke bazlı reverse geocoding DB’si yalnızca gerekli ülkeler için CDN üzerinden indiriliyor), ancak Kore dışındaki bölgelerde sahada doğrulama yapamadım. Başka ülkelerden biri kullanıp denese çok iyi olurdu ama veri doğrulama geri bildirimi almak zor oluyor.
İyi yaptığımı düşündüğüm şey
4 aşamalı kademeli görsel render etme: ThumbHash → System default Thumbnail → ViewPort Size → Origin Size
Elimden geldiğince optimize ettim ama varsayılan fotoğraf uygulamalarıyla kıyaslayınca daha gidilecek çok yol var.
Mevcut durum
- Landing page (tanıtım + Privacy): https://zizi.tnstory.co.kr
- iOS App Store: https://apps.apple.com/app/6760991211
- Android beta başvurusu: https://groups.google.com/g/zizi-beta-tester
(gruba katılma → Play Store’da opt-in mümkün) - iOS: iCloud desteği
- Android: Ne yazık ki Cloud yedekli fotoğraflara (Google Photos vb.) politika gereği doğrudan erişim mümkün değil; erişebilmek için fotoğrafların manuel olarak indirilmesi gerekiyor
Rica ediyorum
- Kore dışındaki bölgelerden fotoğrafları olan iOS kullanıcılarının yer adı araması doğrulama geri bildirimlerini memnuniyetle bekliyorum
- Fotoğraf düzenleme iş akışıyla ilgili fikir veya eleştirilerinizi rahatça paylaşabilirsiniz
Teşekkür ederim.
Henüz yorum yok.