Abonelik ve gelir analitiği
SaaS şirketlerinin gelirini Stripe'tan canlı izleyen, neyin kaydığını sade dille söyleyen ve kaybedilen müşteriyi tek tıkla geri kazandıran bir gelir platformu.
Kimin ihtiyacı
Bir SaaS kurucusu için en önemli sayı aylık gelirdir, ama çoğu panel bu sayıyı yalnızca gösterir. Gelir düştüğünde sebebini bulmak için tablolar arasında gezmek, Stripe'ta müşterileri tek tek aramak gerekir. Oysa düşüşün önemli bir kısmı müşterinin gitmek istemesinden değil, kartının süresi dolmasından kaynaklanır ve kimse fark etmeden kaybolur.
Ne kurdum
Holdfast'i sayı gösteren bir panel olarak değil, harekete geçiren bir ürün olarak tasarladım. Stripe'a tek tıkla bağlanıyor, abonelik geçmişini içeri alıyor ve webhook'larla canlı kalıyor. Gelirde olağan dışı bir düşüş olduğunda telefona bildirim geliyor, panel de sebebini düz bir cümleyle söylüyor. Başarısız ödemeler sebebine göre ayrılıyor; her müşterinin plan ve ödeme geçmişi tek bir zaman çizelgesinde duruyor. Win-back kampanyası kart güncelleme e-postası, akıllı yeniden deneme ve hatırlatmalarla tek tıkla başlıyor. Son kullanıcı kartını markalı bir sayfada saniyeler içinde güncelliyor, geri kazanılan gelir de panelde canlı olarak yükseliyor.
Akış
- Ekip Stripe hesabını bağlar; Holdfast abonelik geçmişini içeri alır ve geliri olaylardan hesaplar.
- Gelirde olağan dışı bir düşüş olunca telefona bildirim gelir, panel sebebi sade dille açıklar.
- Başarısız ödemeler sebebine göre ayrılır; her müşterinin plan ve ödeme geçmişi tek ekranda görünür.
- Win-back kampanyası tek tıkla başlar: kart güncelleme e-postası, akıllı yeniden deneme ve hatırlatmalar.
- Son kullanıcı kartını markalı sayfada günceller ya da iptal yerine duraklatmayı seçer; geri kazanılan gelir panelde canlı görünür.
Önemli kararlar
Gelir, olaylardan türeyen bir kayıt
Her abonelik değişikliği değişmez bir olay olarak saklanıyor; aylık gelir, döküm ve grafikler bu kayıttan hesaplanıyor. Geçmiş yeniden oynatılabiliyor; bir hesaplama kuralı değiştiğinde bütün seriler baştan üretilebiliyor.
Panel sebebi söylüyor
Haftalık mevsimselliği hesaba katan bir temel çizgi, olağan dışı düşüşü yakalıyor. Uyarı "churn arttı" demiyor; "31 müşteri kartlarının süresi dolduğu için yenilemedi" diyor ve aksiyonu hemen yanına koyuyor. Arayüzde jargon yok, renkler yalnızca büyüme ve kayıp anlamı taşıyor.
Parayla ilgili her rakam Stripe ile tutuyor
Webhook'lar idempotent işleniyor ve yeniden oynatılabiliyor; gelir hesapları Stripe verisiyle karşılaştırmalı testlerle doğrulanıyor. Çok kiracılı yapıda her şirketin verisi Postgres row-level security ile ayrı tutuluyor.
Geri kazanma, dayanıklı bir akış
Yeniden deneme, e-posta ve hatırlatma adımları Inngest üzerinde günlerce süren ve kesintiye dayanıklı akışlar olarak çalışıyor. E-postalar React Email ile şirketin kendi markası ve alan adıyla gidiyor; son kullanıcı Holdfast'i değil, abone olduğu ürünü görüyor.
Teknolojiler
- Next.js 16
- TypeScript
- Stripe API
- Postgres
- ClickHouse
- Inngest
- React Email
- OpenTelemetry
Ekranlar
İlgili hizmetFullstack uygulamalar ve otomasyon
Benzer bir şeye mi ihtiyacın var?
Ne yapmak istediğini birkaç cümleyle anlat.
Proje başlat