— 2025—Günümüz · Lead developer — bitirme projesi
Smart Pause
Problemli akıllı telefon kullanım kalıplarını tespit edip zamanında müdahale eden ML tabanlı Android uygulaması.
Problem
Akıllı telefon bağımlılığı giderek yaygınlaşıyor — çoğu kişi kendi problemli kullanım kalıplarını anlık olarak fark edemiyor. Alışılagelmiş çözüm irade gücü, ama bu ölçeklenmiyor.
Smart Pause, telefonun kendi ürettiği sinyalleri kullanarak riskli kullanım anlarını tespit ediyor ve seansın daha da büyümeden zamanında müdahale ediyor.
Yaklaşım
Sistem üç parçadan oluşuyor:
- Android istemci (Kotlin): Üç davranışsal sinyali sürekli takip ediyor — session duration (mevcut seanstaki kesintisiz ekran süresi), pickup frequency (son 1 saatte telefon açma sayısı) ve hour of day (gece geç saatte kullanım tespiti). Yalnızca sayısal özellik vektörü backend’e gönderiliyor — ham kullanım verisi cihazı terk etmiyor.
- FastAPI backend (Docker + Google Cloud Run): Özellik vektörlerini alıp kullanımı üç risk seviyesine sınıflandırıyor: NORMAL, AWARENESS ve ACTIVE. Müdahale kısıtlamaları burada uygulanıyor: günde maksimum 5 müdahale, molalar arası minimum 2 saat, 22:00–08:00 arası sessiz mod.
- Random Forest @ StudentLife dataset: Üniversite öğrencilerinin gerçek dünya davranış verisiyle eğitildi. Bildirim yorgunluğunu önlemek için mesajlar üç türde rotasyona giriyor: yansıtıcı sorular, eyleme dönük görevler ve bağlamsal bilgi.
Her tahmin sonrasında sonuçlar ve müdahale geçmişi Firebase Firestore’a kaydediliyor.
Bu projeden çıkardıklarım
- Özellik seçimi model karmaşıklığından daha kritik — küçük bir davranışsal ve zamansal özellik seti işe yarayan bir sınıflandırıcı kurmak için yeterliydi.
- Müdahale tasarımı tahmin kadar önemli — doğru risk sinyali, bildirimi rahatsız edici ya da görmezden gelinebilir hale getirirse değer üretmiyor. Mesaj rotasyonu ve sessiz mod bu içgörüden çıktı.
- FastAPI + Cloud Run ikili öğrenci bütçesi için ideal: trafik olmadığında maliyet fiilen sıfır.
- Bitirme projesi tempo yönetimi: Donanım sorunu çözülmeyi beklerken bile ML boru hattı paralel ilerliyordu — blokaj zamanlarını planlayarak projenin son iki haftasını panik hâline getirmedim.