İçeriğe Atla
Mustafa Erbay
Yaşam · 10 dk okuma · görüntülenme Read in English

Mobil Push Bildirimleri: Yan Ürünlerdeki Maliyet-Fayda Dengesi

Yan ürünlerde push bildirimlerinin kurulum, işletme maliyetleri ve gerçek faydalarını deneyimlerimle analiz ediyorum. Dengeli bir strateji için ipuçları.

100%

Mobil uygulamalar geliştirirken push bildirimleri her zaman cazip bir özellik olarak karşıma çıkıyor. Kullanıcıyla doğrudan iletişim kurmanın, onları uygulamaya geri çekmenin en etkili yollarından biri gibi duruyor. Özellikle kendi yan ürünlerimde veya küçük müşteri projelerinde bu konuya yaklaşımım yıllar içinde çok değişti. Başlangıçta “kesinlikle olmalı” dediğim bu özellik için şimdi “gerçekten gerekli mi?” sorusunu defalarca soruyorum.

Bu yazıda, push bildirimlerinin özellikle yan ürünlerde ve küçük ölçekli projelerde getirdiği maliyetleri ve sunduğu faydaları kendi deneyimlerimle ele alacağım. Gördüm ki, teknik borcun ve operasyonel yükün yanı sıra, kullanıcı deneyimi açısından da ince bir denge var.

Push Bildirimleri: Gerekli mi, Lüks mü?

Bir süredir mobil tarafta kendi uygulamalarımı geliştiriyorum; mesela bir yan ürünümde Android spam çağrılarını engellemeye yarayan bir uygulama var, ya da başka bir yan ürünümde kişisel finansal hesaplamalarımı yapıyorum. Her iki durumda da kullanıcıyla etkileşim kurmak önemliydi. İlk düşündüğüm şeylerden biri hep “push bildirimleri ekleyelim, kullanıcıyı aktif tutalım” oldu. Bu, çoğu geliştiricinin aklına gelen ilk fikir. Ancak, bu kararın ardında yatan gerçek maliyetleri ve operasyonel yükü tam olarak anlamak, zaman ve tecrübe gerektiriyor.

Bir özelliğin “olması gereken” listesinde yer almasıyla, gerçekten “fayda sağlayan” bir özellik olması arasında büyük fark var. Push bildirimleri, doğru kullanıldığında müthiş bir değer katabilir. Kullanıcıya zamanında, ilgili ve kişiselleştirilmiş bir mesaj ulaştırmak, uygulamanın kullanım oranlarını ve bağlılığını artırabilir. Ancak, bu “doğru kullanım” sınırı çok ince. Yanlış zamanda, alakasız veya çok sık gönderilen bildirimler ise tam tersi etki yaratıp kullanıcıyı uygulamadan soğutabiliyor, hatta bildirimleri tamamen kapatmaya itebiliyor. Bu da yatırdığımız tüm emeğin boşa gitmesi demek.

Benim için kilit soru şu: Bu bildirim, kullanıcının hayatında gerçek bir değeri mi temsil ediyor, yoksa sadece bir “beni unutma” mesajı mı? Yan ürünlerde kaynaklarımız sınırlı olduğundan, bu sorunun cevabı kritik önem taşıyor. Eğer push bildirimleri projenin ana fayda alanını güçlendirmiyorsa, sadece bir lüks olmaktan öteye geçemeyip, geliştirme ve işletme maliyetleriyle baş başa bırakabilir.

Başlangıç Maliyeti ve Kurulum Süreçleri

Push bildirimlerini bir mobil uygulamaya entegre etmek, düşündüğümden çok daha fazla başlangıç maliyeti ve zaman gerektirdi. Sadece kod yazmakla bitmiyor; farklı platformlar için (Android için Firebase Cloud Messaging - FCM, iOS için Apple Push Notification Service - APNS) ayrı ayrı kurulumlar yapmak gerekiyor. Bu ilk adım bile, özellikle tek başıma çalıştığım yan ürün projelerinde hatırı sayılır bir efor anlamına geliyor.

Kendi Android spam uygulamamı geliştirirken bu ilk kurulum aşamasına hatırı sayılır zaman harcadığımı hatırlıyorum. Flutter ile çalışıyordum ve firebase_messaging paketi kurulumu nispeten kolay olsa da, native tarafda gerekli yetkilendirmeleri ve AndroidManifest.xml ayarlamalarını yapmak zamanımı aldı. Özellikle iOS tarafında Push Notification özelliğini Capabilities kısmından aktif etmek ve doğru sertifikayı bağlamak bazen can sıkıcı olabiliyor. Test ortamında çalışıp production’da çalışmayan bildirimlerle çok karşılaştım, sebebi genellikle sertifika uyuşmazlığı veya yanlış APNS Auth Key kullanımıydı.

<!-- AndroidManifest.xml'de gerekli bazı ayarlar (örnek) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher"
        android:label="My App">
        <!-- ... diğer activity ve servis tanımları ... -->

        <service
            android:name="com.google.firebase.messaging.FirebaseMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
    </application>
</manifest>

Bu başlangıç maliyetleri sadece teknik kurulumla sınırlı değil. Geliştirme ortamlarının hazırlanması, farklı cihazlarda test edilmesi ve olası sorun giderme süreçleri de cabası. Eğer bir mobil uygulama projesine başlarken “hızlıca bir MVP çıkarayım” diyorsanız, push bildirimlerini ilk versiyona dahil etmek, bu hızı ciddi şekilde yavaşlatabilir. Benim deneyimimde, bu karmaşıklığı yönetmek için harcadığım zamanı, uygulamanın temel özelliklerini geliştirmeye ayırmamın daha faydalı olacağını çok kez düşündüm.

İşletme Maliyetleri ve Teknik Borç

Push bildirimlerini kurmak sadece başlangıç. Asıl maliyetler ve teknik borç, bu sistemi ayakta tutmak ve doğru çalıştığından emin olmakla ortaya çıkıyor. Bir kez entegre ettikten sonra, düzenli bakım ve optimizasyon gereksinimleri baş gösteriyor. Bu da özellikle yan ürünlerde sınırlı zamanım varken ciddi bir yük oluşturuyor.

İlk olarak, token yönetimi var. Bir kullanıcının cihazına bildirim gönderebilmek için o cihaza ait bir “registration token” veya “device token” almanız gerekiyor. Bu token’lar zamanla değişebilir, geçersiz olabilir veya kullanıcı uygulamayı silerse boşa düşebilir. Benim bir yan ürünümde, kullanıcı tabanı büyüdükçe her ay token’ların azımsanmayacak bir kısmının geçersiz hale geldiğini gördüm. Bu token’ları düzenli olarak temizlemezseniz, boşa bildirim gönderme girişimlerinde bulunursunuz, bu da hem API kotanızı tüketir hem de gereksiz sunucu kaynaklarını meşgul eder.

İkinci olarak, API çağrı limitleri ve sunucu kaynakları. Çok sayıda kullanıcıya bildirim gönderirken, kullandığınız servis sağlayıcının (FCM/APNS) API çağrı limitlerine dikkat etmeniz gerekir. Büyük ölçekli bildirimler için genellikle toplu gönderme (batch sending) mekanizmalarını kullanmak, API çağrı sayısını düşürür. Ancak bu da kendi içinde bir karmaşa yaratır: hangi bildirimler öncelikli, hangi bildirimler birleştirilebilir? Kendi sunucumda FastAPI ile yazdığım bir bildirim gönderme servisi, belirli saatlerde ani yük artışları yaşadığında CPU kullanımının ciddi şekilde tırmandığını gördüm. Bu, ek sunucu kapasitesi veya daha verimli kod yazımı anlamına geliyordu.

# FastAPI ile basit bir bildirim gönderme endpoint'i (örnek)
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import List
from firebase_admin import credentials, messaging, initialize_app

# Firebase Admin SDK'yı başlat
cred = credentials.Certificate("path/to/your/firebase-adminsdk.json")
initialize_app(cred)

app = FastAPI()

class NotificationRequest(BaseModel):
    tokens: List[str]
    title: str
    body: str
    data: dict = {}

@app.post("/send-notifications")
async def send_notifications(request: NotificationRequest):
    if not request.tokens:
        raise HTTPException(status_code=400, detail="Tokens list cannot be empty.")

    messages = [
        messaging.Message(
            token=token,
            notification=messaging.Notification(
                title=request.title,
                body=request.body,
            ),
            data=request.data,
        )
        for token in request.tokens
    ]

    try:
        # Toplu bildirim gönderme
        batch_response = messaging.send_all(messages)
        print(f"{batch_response.success_count} messages were sent successfully")
        if batch_response.failure_count > 0:
            for response in batch_response.responses:
                if not response.success:
                    print(f"Failed to send message: {response.exception}")
        return {"status": "success", "sent_count": batch_response.success_count, "failed_count": batch_response.failure_count}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

Son olarak, hata yönetimi ve gözlemlenebilirlik (observability). Bildirimler neden gitmedi? Hangi cihaza gitmedi? Kullanıcı görmedi mi, yoksa hiç ulaşmadı mı? Bu soruların cevaplarını bulmak için kapsamlı loglama ve monitoring sistemleri kurmak zorundayım. Her bildirim gönderme denemesini, başarısını/başarısızlığını ve nedenini kaydetmek, sorun giderme süreçlerini kolaylaştırıyor. Bildirim gecikmeleri çoğu zaman bildirim servisinin kendisinden değil, arka plandaki veritabanı yavaşlamalarından ve queue birikmelerinden kaynaklanır; bu yüzden loglar olmadan kök nedeni bulmak neredeyse imkânsız. Bu durum, sadece push bildirimleri için değil, genel sistem yönetimi için de kritik bir ders oldu.

Kullanıcı Deneyimi ve Etkileşim: Gerçek Fayda Nerede?

Push bildirimlerinin en büyük vaadi, kullanıcı etkileşimini artırmaktır. Ancak bu vaadin gerçekleşmesi, bildirimin içeriği, zamanlaması ve sıklığına bağlıdır. Yanlış kullanıldığında, bildirimler bir fayda değil, bir rahatsızlık kaynağı haline gelebilir. Benim gözlemim, çoğu yan ürünün bu dengeyi kurmakta zorlandığı yönünde.

Kendi görev yönetim uygulamamda, kullanıcılara hatırlatıcılar göndermek için push bildirimlerini kullandım. “Görevini tamamlamayı unuttun mu?” gibi bildirimlerin tıklama oranları belirgin şekilde yüksekti; kullanıcıların kayda değer bir kısmı bildirime tıklayıp uygulamayı açıyordu. Ancak, “Yeni özellikler eklendi!” veya “Blog yazımız yayınlandı!” gibi genel duyuru bildirimlerinin tıklama oranları çok daha düşük kalıyordu. Bu durum, bildirimlerin kişiselleştirilmiş ve kullanıcının o anki ihtiyacına yönelik olması gerektiğini açıkça gösterdi.

Aşırı bildirim göndermek ise “bildirim yorgunluğu”na (notification fatigue) yol açıyor. Bir kullanıcı günde birkaç farklı uygulamadan onlarca bildirim aldığında, bir süre sonra hepsini göz ardı etmeye başlıyor. Bu durumda, uygulamanızın bildirimi de diğerleri arasında kaybolup gidiyor. Hatta, kullanıcılar uygulamanın bildirimlerini tamamen kapatabiliyor ki bu, iletişim kanallarınızdan birini tamamen kaybetmeniz demek. Bir bankanın iç platformunda çalışırken, kullanıcıların alakasız sistem uyarılarından şikayetçi olduğunu ve birçoğunun bildirimleri kapattığını gördük. Bu, sadece teknik bir sorun değil, aynı zamanda kullanıcı deneyimi ve ürün stratejisiyle ilgili bir problem.

Bu noktada, bildirim stratejisi belirlemek kritik. Hangi tür olaylar bildirim gerektirir? Ne sıklıkta gönderilmeli? Kullanıcı bu bildirimi ne zaman görmek ister? Bu soruların cevapları, basit A/B testleriyle veya uygulamanın kullanım metriklerini izleyerek bulunabilir. Benim yan ürünlerimdeki push bildirimlerini, sadece kullanıcının uygulamadan aktif bir beklentisi olduğunda (örneğin, bir görevin tamamlanma zamanı geldiğinde) veya gerçekten önemli bir gelişme olduğunda gönderiyorum. Bu yaklaşım, hem maliyetleri düşürüyor hem de bildirimlerin değerini artırıyor.

Alternatifler ve Daha Akıllı Yaklaşımlar

Push bildirimlerinin maliyetleri ve potansiyel olumsuz etkileri göz önüne alındığında, her zaman tek çözüm olmadığını fark ettim. Özellikle yan ürünlerde, daha az maliyetli ve daha kontrollü iletişim kanalları veya stratejileri mevcut. Bazen en “havalı” teknolojiyi kullanmak yerine, amaca en uygun ve sürdürülebilir olanı seçmek daha akıllıca oluyor.

Uygulama içi bildirimler (In-app notifications), push bildirimlerine harika bir alternatiftir. Kullanıcı uygulamayı açtığında göreceği, genellikle bir zil ikonuyla belirtilen bu bildirimler, kullanıcıyı rahatsız etmeden bilgi iletmenin bir yoludur. Maliyeti neredeyse sıfırdır, çünkü harici bir servis veya API çağrısı gerektirmez; sadece uygulamanın kendi içinde veriyi çekip göstermesi yeterlidir. Kendi görev yönetim uygulamamda, daha az kritik olan duyuruları ve genel bilgilendirmeleri uygulama içi bildirimler aracılığıyla yapmayı tercih ettim. Bu, push bildirim trafiğimi ciddi şekilde azalttı ve bildirim yorgunluğunu engelledi.

E-posta ve SMS, hala güçlü iletişim kanallarıdır. Özellikle kritik ve acil durumlar için SMS, yüksek açılma oranına sahip bir yöntemdir. Ancak, SMS’in maliyeti push bildirimlerine göre çok daha yüksektir ve spam olarak algılanma riski de mevcuttur. E-posta ise daha az acil durumlar için, detaylı bilgi aktarmak veya özet raporlar göndermek için idealdir. Benim bir müşteri projesinde, bir e-ticaret sitesinin sipariş onayları ve kargo bilgileri için SMS ve e-posta kombinasyonunu kullandık. Mobil uygulama bildirimlerini ise sadece sepette unutulan ürünler veya kişiselleştirilmiş indirimler için ayırdık. Bu, hem maliyetleri optimize etti hem de iletişim stratejisini daha esnek hale getirdi.

Bazı durumlarda, web push API’leri de alternatif olabilir. Eğer yan ürününüzün bir web arayüzü varsa, tarayıcı tabanlı push bildirimleri, mobil uygulama geliştirmeden de kullanıcılara ulaşmanın bir yolunu sunar. Kurulumu nispeten daha kolay ve maliyeti genellikle daha düşüktür. Ancak, tarayıcıya ve kullanıcının izinlerine bağlı olduğu için, mobil uygulama bildirimleri kadar güvenilir olmayabilir.

Özetle, her iletişim kanalının kendine göre avantajları ve dezavantajları var. Önemli olan, projenin ihtiyaçlarına, bütçesine ve hedef kitlesine en uygun kombinasyonu bulmak. Benim deneyimimde, genellikle daha basit ve kontrol edilebilir yöntemlerle başlayıp, gerçekten ihtiyaç duyulduğunda push bildirimlerine geçmek en mantıklı yol oldu.

Benim Yaklaşımım: Pragmatik Bir Denge

Yıllar içinde edindiğim tecrübelerle, push bildirimlerine yaklaşımım oldukça pragmatik bir hal aldı. Artık her yan ürünümde veya projede “kesinlikle push bildirimleri olmalı” diye bir önyargım yok. Aksine, bu özelliği eklemenin getireceği tüm maliyetleri ve potansiyel faydaları çok daha detaylı bir şekilde değerlendiriyorum.

Genellikle bir yan ürüne başlarken, push bildirimlerini ilk MVP (Minimum Viable Product) kapsamına dahil etmiyorum. Temel işlevselliği oturtup, uygulamanın kullanıcılar tarafından benimsenip benimsenmediğini gözlemliyorum. Eğer gerçekten bir ihtiyaç doğarsa ve kullanıcı geri bildirimleri push bildirimlerinin uygulamanın değerini artıracağını gösterirse, o zaman bu konuya eğiliyorum. Bu yaklaşım, gereksiz efor sarf etmemi ve kaynaklarımı daha kritik alanlara yönlendirmemi sağlıyor. Örneğin, kendi Android spam uygulamamda, kullanıcıların belirli çağrı tipleri için anlık bildirim talepleri gelene kadar bu özelliği ertelemiştim. Bu sayede ilk dönemde sadece çekirdek engelleme mantığına odaklanabildim.

Maliyetleri düşürmek için de bazı optimizasyonlar yapıyorum. Öncelikle, sadece gerçekten kritik ve zamanında iletilmesi gereken bildirimleri push olarak gönderiyorum. Diğer, daha az acil bilgilendirmeler için uygulama içi bildirimleri veya e-postayı tercih ediyorum. Bu, bildirim trafiğimi ciddi şekilde azaltıyor ve dolayısıyla API kullanım maliyetlerimi düşürüyor. Kendi finansal hesaplayıcılarımda, kullanıcının aylık ödeme hatırlatıcılarını sadece kullanıcının açıkça talep etmesi durumunda ve günde maksimum bir kez gönderecek şekilde tasarladım. Bu, bildirim maliyetimi belirgin şekilde düşürdü ve kullanıcı şikayetlerini neredeyse tamamen ortadan kaldırdı.

Ayrıca, farklı servis sağlayıcılarını veya açık kaynak çözümleri de karşılaştırıyorum. Özellikle Redis Pub/Sub gibi daha basit mesajlaşma sistemlerini kullanarak kendi bildirim kuyruklarımı oluşturduğum durumlar oldu. Bu, FCM/APNS gibi servislerin sunduğu bazı kolaylıklardan feragat etmek anlamına gelse de, tam kontrol ve potansiyel maliyet tasarrufu sağlıyor. Elbette, bu daha fazla geliştirme ve bakım yükü getiriyor, bu yüzden bu kararı verirken her zaman bir trade-off analizi yapıyorum: kendi çözümümü kurmak mı, yoksa yönetilen bir servisi kullanmak mı? Her iki durumda da maliyet ve esneklik dengesini gözetmek esas.

Sonuç olarak, benim için push bildirimleri artık bir “varsayılan özellik” değil, dikkatli bir değerlendirme ve stratejik bir karar gerektiren bir araç. Yan ürünlerin doğası gereği sınırlı kaynaklarla en iyi etkiyi yaratmaya çalışırken, bu dengenin doğru kurulması çok önemli.

Sonuç: Yan Ürünlerde Akıllı Bildirim Stratejisi

Mobil push bildirimleri, doğru kullanıldığında kullanıcı etkileşimini ve uygulamanın değerini önemli ölçüde artırabilecek güçlü bir araç. Ancak, özellikle benim gibi yan ürünlerle uğraşan veya küçük ölçekli projeler geliştirenler için, bu özelliğin başlangıç ve işletme maliyetleri, beraberinde getirdiği teknik borç ve kullanıcı yorgunluğu gibi riskleri dikkatle değerlendirmek gerekiyor. Benim deneyimimde, her zaman en “havalı” veya en yaygın kullanılan çözüme koşmak yerine, projenin gerçek ihtiyaçlarına ve bütçesine en uygun stratejiyi belirlemek çok daha akıllıca oldu.

Push bildirimlerini bir yan ürüne entegre etmeden önce kendime sorduğum temel sorular şunlar:

  • Bu bildirim, kullanıcının hayatında gerçek bir problem çözüyor mu, yoksa sadece dikkat mi çekmeye çalışıyor?
  • Bu bildirimi göndermenin maliyeti (geliştirme zamanı, sunucu kaynakları, API ücretleri), sağlayacağı faydadan daha mı fazla?
  • Bu iletişimi sağlamanın daha basit, daha az maliyetli veya daha kontrollü bir yolu var mı (uygulama içi bildirim, e-posta, SMS)?
  • Bildirimler, kullanıcı deneyimini zenginleştiriyor mu, yoksa bildirim yorgunluğuna yol açma riski mi taşıyor?

Bu soruların cevapları beni genellikle daha minimalist ve odaklı bir bildirim stratejisine yönlendiriyor. Yan ürünlerde, sınırlı kaynaklarla maksimum etki yaratmak esas. Bu da çoğu zaman, her özelliğin değil, sadece en kritik ve en değerli özelliklerin eklenmesi anlamına geliyor.

Gelecekteki yan ürünlerimde veya danışmanlık verdiğim projelerde, push bildirimlerini daima bu perspektiften değerlendireceğim. Önce problem, sonra çözüm. Önce maliyet-fayda analizi, sonra entegrasyon. Bu yaklaşım, hem benim hem de geliştirdiğim ürünlerin sürdürülebilirliği için kritik bir ders oldu.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

Sıkça Sorulanlar

Bu makale ile ilgili okurların sorduğu yaygın sorular.

Mobil uygulamalarınızda push bildirimleri eklerken nelere dikkat etmelisiniz?
Benim deneyimime göre, push bildirimleri eklerken en önemli şey, kullanıcı deneyimi açısından ince bir denge kurmaktır. Bildirimlerin zamanında, ilgili ve kişiselleştirilmiş olması çok önemlidir. Ayrıca, teknik borcu ve operasyonel yükü de göz önünde bulundurmak gerekir.
Push bildirimlerinin maliyet-fayda dengesini nasıl analiz edebilirsiniz?
Benim deneyimimde, push bildirimlerinin maliyet-fayda dengesini analiz ederken, teknik borcu, operasyonel yükü ve kullanıcı deneyimi açısından faydaları göz önünde bulundurmak önemlidir. Ayrıca, pilot uygulamalar veya A/B testleri yaparak, push bildirimlerinin efektifliğini ölçmek de faydalı olabilir.
Küçük ölçekli projelerde push bildirimleri yerine hangi alternatif iletişim yöntemlerini kullanabilirsiniz?
Benim deneyimime göre, küçük ölçekli projelerde push bildirimleri yerine, in-app bildirimleri, e-posta haber bültenleri veya sosyal medya aracılığıyla iletişim kurmak daha efektif olabilir. Bu yöntemler, daha az teknik borcu ve operasyonel yükü gerektirir ve daha kişiselleştirilmiş bir iletişim sağlar.
Push bildirimlerinin kullanıcı bağlılığını artırma etkisi ne kadar önemlidir?
Benim deneyimimde, push bildirimlerinin kullanıcı bağlılığını artırma etkisi çok önemlidir. Doğru zamanda ve ilgili bir şekilde gönderilen push bildirimleri, kullanıcıların uygulamaya geri dönmelerini sağlayabilir ve bağlılığı artırabilir. Ancak, bu etki, push bildirimlerinin kalitesi ve sıklığına bağlıdır. Yanlış zamanda veya çok sık gönderilen push bildirimleri, kullanıcıları uygulamadan uzaklaştırabilir.
ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

✉️ Ücretsiz · Spam yok · İstediğin an çık

Yeni yazılardan haberdar olun

Yeni içerikler ve teknik notlar e-postanıza gelsin.

  • 📌
    Haftanın en iyisi Sadece okumaya değer tek yazı
  • 🔧
    Alet çantası Bu hafta kullandığım araçlar
  • 🧠
    Perde arkası Blog'a girmeyen notlar

Spam yapmıyoruz. İstediğiniz zaman ayrılabilirsiniz. · Sadece Umami (self-hosted, Google yok) ile takip.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar