Kırılma noktası
Yaklaşık on yıldır Twitter'daydım (artık X). Eskiden işe yarıyordu — takip ettiğim kişilerin gönderileri zaman sırasıyla geliyordu. On dakika açıyor, güncel kalıyor, kapatıyordum.
2024'ün bir noktasında bu iş bozuldu. For You sekmesi varsayılan oldu. Reklam gönderiler katlandı. İlgi tuzakları baskın içerik tipi haline geldi. Üç arkadaşımı kontrol etmek için açtığım X'i, 40 dakika sonra hiçbir şey okumadan kapatıyordum.
Bariz şeyleri denedim — Following sekmesine geçtim, kelime sustur ekledim, listeler yaptım. Her biri biraz işe yaradı. Ama For You algoritması kendini sürekli sıfırlıyor, sağ kenar çubuğu ilgilenmediğim trendleri gösteriyor, reklamlar bir şekilde sızıyordu. Gürültüyü tek bir yerden kapatmak mümkün değildi.
İlk versiyon: 200 satır JavaScript
Bir hafta sonu küçük bir Chrome eklentisi yazdım. Üç şey yapıyordu:
- "Promoted" etiketli gönderileri gizliyordu
- Sağ kenar çubuğunu gizliyordu
- Zaman akışını "Following"e zorluyordu
Hepsi bu kadardı. ~200 satır, arayüz yok, sadece eklenti ikonundan açıp kapatılabiliyordu. Kaynak kodu X'te yaşayan birkaç arkadaşımla paylaştım. Özellik istemeye başladılar.
"Takipten çıkmadan hesapları susturabilir mi?" Tabii ki.
"Anahtar kelimeyle filtreleyebilir mi?" Evet.
"Uzun ileti dizilerini AI ile özetleyebilir mi?" Hmm. Bu gerçek bir özellik.
Script'ten ürüne
AI özet isteği, hobi script'i olmaktan çıktığı andı. AI'ı düzgün yapmak için şunlar gerekiyordu:
- Bir backend (Chrome eklentisinden API anahtarı göndermek güvenlik felaketi)
- Kimlik doğrulama (AI'ı kimin çağırabileceğini bilmek için)
- Hız sınırlaması (bir kullanıcının Gemini bütçemi tüketmemesi için)
- Ödeme (yoğun kullanıcıların sınırsız özet için ödeme yapabilmesi için)
Bunların hiçbiri orijinal "hafta sonu eklentisi" planında yoktu. Ama düşündüm: bunu tek bir özellik için kuracaksam, eklentinin geri kalanı da kullansın — cihazlar arası filtre senkronizasyonu, bulutta tercihler, vs.
Hobi projesi tam bir SaaS'a dönüştü. Geriye dönüp bakınca: v1 için muhtemelen aşırıydı. Ama tuttuğum parçalar (auth, senkronizasyon, ödeme) ürünü gerçekten daha iyi yapıyor, pişman değilim.
Teknoloji yığını
Benzer küçük bir SaaS yapmak isteyen herkes için, işe yarayanlar:
- Backend: Node + Express + tRPC + Drizzle, Railway'de. ~5$/ay.
- Veritabanı: MySQL (yine Railway).
- Frontend (site): Düz HTML/CSS/JS, framework yok. Cloudflare Workers'ta. Bedava.
- Alan adı: Cloudflare Registrar. ~10$/yıl.
- E-posta: SendGrid bedava plan (günde 100, küçük uygulama için bol).
- Ödeme: Stripe Checkout + Customer Portal.
- AI: Google Gemini (bedava plan yükseltmeye gerek kalmadan epey götürür).
Her şeyi çalıştırmanın aylık toplam maliyeti: 10$ altı. Eklenti Chrome Web Store'da (5$ tek seferlik geliştirici ücreti).
Beni şaşırtanlar
Auth, göründüğünden zor. E-posta + parola, doğrulama, sıfırlama, oturumlar, JWT, girişte hız sınırı — uzun bir kontrol listesi. Ne kadar iş gerektirdiğini bilseydim sıfırdan yazmazdım. Mümkünse kütüphane ya da hizmet kullan.
Stripe, göründüğünden kolay. İki tRPC endpoint'i (checkout + customer portal), bir webhook, tamam. Zor kısım entegrasyon değil, banka hesabını doğrulatmak.
Chrome Web Store incelemesi tahmin edilemez. İlk başvurum kullanılmayan bir izin yüzünden reddedildi. İkincisi birkaç günde onaylandı. Her güncelleme tekrar inceleme görüyor — değişikliklerin yayına çıkması için 1-7 gün beklemeye hazır ol.
Sırada ne var
Eklenti yayında, site ayakta, ödemeler uçtan uca çalışıyor. Önümüzdeki ~3 ay dağıtımla ilgili: blog yazıları (birini okuyorsun), Product Hunt lansmanı, Reddit, IndieHackers.
Seni rahatsız eden bir X / Twitter akışın varsa, denemeni çok isterim. Bedava plan çoğu kişinin ihtiyacının çoğunu karşılar. Geri bildirimin varsa e-posta adresim altta — hepsini okuyorum.