Tüm uygulamalar
Social Connect uygulama ikonu

Social Connect

Tek uygulamada sekiz ayrı tanışma platformu, canlı yayın, görüntülü görüşme ve oyunlar.

  • iOS
  • Android
  • 2023
  • Kendi ürünüm
App Store · arşiv Google Play · arşiv

Ekran görüntüleri

Büyütmek için bir görsele tıklayın.

Uygulama hakkında

Social Connect bir tanışma uygulamasıydı, ama alışıldık bir tanışma uygulamasından farklı olarak sekiz ayrı platformu tek çatı altında topluyordu: anonim sohbet, harita üzerinden keşif, kaydırmalı eşleşme, dil pratiği, hikâyeler, yetişkin platformu ve uygulama içinde yayıncı olup gelir elde etme.

Bunların üzerine canlı yayın altyapısı, sesli ve görüntülü görüşme, gerçek zamanlı sohbet, hediye ekonomisi, canlı bilgi yarışmaları ve ödüllü oyunlar geliyordu. Ürünün tamamını — mimari, geliştirme, arka uç ve mağaza yayını — tek başıma yürüttüm.

2023 projesi; yani yapay zekâ destekli kodlama araçları yaygınlaşmadan önce yazıldı. Bugün geriye dönüp baktığımda, tek bir üründe bu kadar farklı alt sistemi bir arada tutmak bana en çok şeyi öğreten iş oldu.

Uygulama bugün mağazalarda değil ve sebebi tek bir şey değildi. Görüntülü görüşmeyi kendi sunucumda barındırdığım için altyapı gideri sürekli akan bir masraftı; sekiz ayrı platformun her biri ayrı bakım istiyordu ve hepsini tek başıma çevirmek bir noktadan sonra mümkün olmadı. Buna mağaza kuralları tarafında çıkan sorunlar eklenince uygulamayı kendim kaldırdım. Teknik taraf çalışıyordu; beni durduran şey, bu ölçekteki bir sistemi tek kişiyle ayakta tutmanın maliyetiydi. Sunucu maliyetini ürünün gelirine göre hesaplamayı burada öğrendim.

Öne çıkan özellikler

  • Sekiz ayrı platform: anonim sohbet, harita keşfi, kaydırmalı eşleşme, dil pratiği, hikâyeler, +18 platformu, yayıncılık
  • Canlı yayın: yayın açma, izleme, canlı yorum ve yayıncı olarak gelir elde etme
  • Sesli ve görüntülü görüşme — JitsiMeet altyapısı üzerine kuruldu
  • Anlık mesaj çevirisi: gelen mesajı istediği dile çevirebilme
  • Hediye ekonomisi: yayıncılara ve kullanıcılara sanal hediye gönderimi
  • Zengin mesajlaşma: yanıtlama, GIPHY üzerinden GIF, fotoğraf, video ve ses gönderimi
  • Spotify entegrasyonu: profilde ve sohbette müzik paylaşımı
  • Fotoğraf ve video düzenleyici uygulama içinde
  • Anonim hikâye paylaşımı
  • Oyunlar: çevrimiçi ve çevrimdışı oyunlar, ödüllü oyunlar, canlı bilgi yarışmaları
  • Konum tabanlı keşif — harita üzerinde çevredeki kişileri bulma
  • Uygulama içi satın alma ve abonelik altyapısı

Kullanılan teknolojiler

112 teknoloji · 12 başlık

Diller ve Uygulama Katmanı

  • Swift (iOS)
  • Java (Android)
  • Kotlin (Android)
  • UIKit / SwiftUI
  • XML layout / Jetpack Compose
  • MVC / MVVM mimarisi
  • GCD / Kotlin Coroutines

Arka Uç ve Veri

  • Firebase Firestore
  • Gerçek zamanlı dinleyiciler
  • Firestore güvenlik kuralları
  • Firebase Storage
  • Cloud Functions
  • Firebase Messaging + APNs
  • Kimlik doğrulama ve oturum
  • Firestore çevrimdışı önbelleği
  • Batch write
  • İmleç tabanlı sayfalama
  • Denormalizasyon
  • Sayaç alanları
  • Cloud Functions tetikleyicileri
  • Zamanlanmış görevler
  • Veri geçişi (migration)

Gerçek Zamanlı ve Görüşme

  • JitsiMeet SDK
  • WebRTC
  • Kendi sunucusunda Jitsi (DigitalOcean)
  • Canlı yayın akışı
  • Kamera ve mikrofon izinleri
  • AVAudioSession / ses yönetimi
  • Oyun durumu senkronizasyonu
  • STUN / TURN yapılandırması
  • Ses yönlendirme (hoparlör / kulaklık)
  • Arka planda çağrı sürdürme
  • Ağ düşüşünde yeniden bağlanma
  • Çağrı durumu senkronizasyonu
  • Sunucu kaynak ve ölçek takibi

Medya ve İçerik Üretimi

  • AVFoundation (iOS)
  • Android kamera / MediaCodec
  • PHPicker / medya seçici
  • Görüntü işleme (Core Image)
  • Video kırpma ve dışa aktarma
  • Ses kaydı ve oynatma
  • Video oynatıcı entegrasyonu
  • Görsel ve video önbellekleme

Servis Entegrasyonları

  • Spotify API
  • GIPHY API
  • Çeviri API entegrasyonu
  • OAuth yetkilendirme
  • URLSession (iOS)
  • REST / JSON işleme

Konum ve Harita

  • Core Location (iOS)
  • MapKit (iOS)
  • Google Maps SDK (Android)
  • FusedLocationProvider (Android)
  • Konum izni akışları
  • Coğrafi yakınlık sorguları

Ödeme ve Gelir

  • StoreKit (iOS)
  • Google Play Billing (Android)
  • Abonelik yönetimi
  • Sunucu tarafı makbuz doğrulama
  • Sanal jeton ekonomisi
  • Yayıncı gelir paylaşımı

Ağ ve Veri Aktarımı

  • HTTP istemcisi (Android)
  • JSON çözümleme (Codable)
  • Yeniden deneme ve zaman aşımı
  • Çevrimdışı durum yönetimi
  • Görsel önbellekleme
  • İndirme ve yükleme kuyruğu
  • Çok parçalı dosya yükleme
  • Bant genişliğine göre kalite

Güvenlik ve Gizlilik

  • Keychain (iOS)
  • EncryptedSharedPreferences (Android)
  • HTTPS ve ATS
  • Kimlik doğrulama token yönetimi
  • Oturum yenileme
  • İzin gerekçe metinleri
  • Hesap silme akışı
  • Sunucu taraflı yetki kontrolü
  • Hassas veri maskeleme

Arayüz Durumları ve Erişilebilirlik

  • Koyu tema desteği
  • Dinamik yazı tipi
  • Güvenli alan (SafeArea)
  • Boş / yükleniyor / hata durumları
  • İskelet (skeleton) yükleme
  • Çekerek yenileme
  • Klavye ve odak yönetimi
  • Derin bağlantı (Universal Links)
  • VoiceOver / TalkBack etiketleri

Test, Hata Ayıklama ve Ölçüm

  • Xcode Instruments
  • Android Profiler
  • LLDB
  • Logcat
  • Bellek sızıntısı takibi
  • Ağ trafiği inceleme
  • Çökme raporu okuma
  • Gerçek cihazda test
  • Farklı ekran boyutu testi

Araçlar ve Yayın Süreci

  • Xcode
  • Android Studio
  • CocoaPods
  • Gradle
  • Git
  • App Store Connect
  • Google Play Console
  • Açık kaynak kütüphaneler (GitHub)
  • TestFlight
  • Play Console iç test
  • Sürüm ve build numaralama
  • İmzalama ve provizyon profilleri
  • App Store inceleme süreci
  • App Privacy / Data Safety formu
  • Mağaza görselleri ve ASO metinleri
  • Uygulama boyutu optimizasyonu
Tek kişilik iş

Fikir, tasarım, arayüz, kod, mağaza yayını ve yayın sonrası bakım — sürecin tamamını baştan sona tek başıma yürüttüm. Ekip, ajans ya da dış kaynak yok.

Geliştirme notları

  • Diller ve yaklaşımiOS tarafı Swift, Android tarafı Java ve Kotlin ile yazıldı. Çapraz platform bir çatı kullanılmadı; her iki uygulama da kendi platformunun yerel araçlarıyla geliştirildi. 2020'den beri mobil geliştiriyorum.
  • Yapay zekâ desteği yokKodun tamamı elle yazıldı. Bu proje, Claude Code ve Codex gibi yapay zekâ kodlama araçları yaygınlaşmadan önce geliştirildi — o dönemde böyle bir araç yoktu.
  • BağımlılıklarÇok sayıda açık kaynak GitHub kütüphanesi ve CocoaPods paketi kullanıldı. Bağımlılık yönetimi iOS tarafında CocoaPods, Android tarafında Gradle ile yürütüldü.
  • Görüntülü görüşme altyapısıJitsiMeet hazır bir servis olarak değil, kendi sunucumda barındırıldı (DigitalOcean). Sunucu kurulumu, medya akışı ve ölçeklendirme tarafı bana aitti.
  • ÖlçekSekiz ayrı platform, canlı yayın, görüntülü görüşme ve oyunlar tek uygulamada. Bu kadar farklı alt sistemi aynı kod tabanında ayakta tutmak bana en çok şeyi öğreten iş oldu.
  • Test ve hata ayıklamaGerçek cihazlarda, farklı ekran boyutlarında ve zayıf ağ koşullarında test edildi. Yayın sonrası çökme raporları okunup düzeltmeler sürüm sürüm gönderildi.
  • Yayın süreciHer iki mağazanın inceleme sürecini de tek başıma yürüttüm: App Store Connect ve Google Play Console kurulumu, gizlilik bildirimi (App Privacy / Data Safety), sürüm notları, mağaza görselleri ve red gerekçelerine göre düzeltmeler.
  • Ürün sahipliğiFikir, tasarım, geliştirme, arka uç, mağaza yayını ve yayın sonrası bakım — sürecin tamamını tek başıma yürüttüm.

Social Connect hakkında konuşalım

Teknik detayları, karşılaştığım sorunları ve nasıl çözdüğümü memnuniyetle anlatırım.