
SocialScope — Sosyal Medya Pazarlama Analiz Aracı
Instagram ve X hesaplarını izleyip etkileşim metriklerini hesaplayan, rakip karşılaştırması yapan ve kural tabanlı somut öneriler üreten, kendi sunucumda çalışan self-hosted pazarlama analiz aracı.
Kendi Instagram ve X hesaplarımın yanı sıra rakip hesapların gönderilerini toplayan, yeni gönderilerin performansını saatlik olarak izleyen, etkileşim metriklerini hesaplayan ve verilere dayalı somut öneriler üreten, tamamen kendi sunucumda çalışan (self-hosted) bir sosyal medya pazarlama analiz aracı.
Ne yapıyor?
Veri toplama — Playwright ile profil ve gönderi verisi; CSS seçicilerinden değil, sayfanın JSON yanıtlarından yapısal olarak çıkarılıyor, böylece arayüz değişikliklerine dayanıklı.
Zaman serisi izleme — Yeni gönderiler ilk 24 saat saatlik, sonraki 24 saat 6 saatte bir ölçülüyor; 48 saat sonunda izleme otomatik duruyor.
Metrik motoru — Ortalama etkileşim, paylaşım sıklığı, gün/saat ısı haritası, hashtag ve açıklama uzunluğu performansı, erken hız (ilk 3 saat), zirve büyüme saati ve plato noktası.
Rakip karşılaştırması — Kendi hesabım ile rakipler satır satır kıyaslanıyor; her satırın en iyisi işaretleniyor.
Öneri motoru — Yapay zekâ değil, kural tabanlı: her öneri dayandığı sayısal kanıtı gösteriyor ve birim testlerle doğrulanıyor.
Planlama ve takip — Kampanya etiketleme, hesap başına KPI hedefi, içerik planlayıcı (planlanan vs. gerçekleşen performans) ve dönem trendleri.
Raporlama — Tüm analizi tek sayfalık, indirilebilir bir Markdown rapora döken çıktı özelliği.
Kullanılan teknolojiler
Node.js, TypeScript, npm workspaces, Playwright, better-sqlite3, node-cron, Next.js 16 + React 19, Tailwind CSS, Recharts, Vitest, Docker ve Coolify.
Mimari
Proje, npm workspaces ile üç pakete ayrılmış bir monorepo:
shared — paylaşılan tipler ve saf fonksiyonlardan oluşan metrik motoru.
collector — Playwright tabanlı toplayıcı ve node-cron ile çalışan izleyici süreci.
web — Next.js paneli: genel bakış, analiz, karşılaştırma, öneriler, takip, kampanyalar ve hedefler sekmeleri.
Veriler SQLite üzerinde tutuluyor; veritabanı WAL modunda çalıştığı için toplayıcı yazarken web paneli aynı anda okuyabiliyor. Platforma özel her ayar (URL, seçici, ayrıştırma) tek bir yapılandırma dosyasında toplandı; X toplayıcısı Instagram için yazılan temel sınıfı miras alıyor.
Geliştirme süreci
Proje on aşamada, her aşama ayrı commitlerle ilerledi: monorepo iskeleti ve veritabanı şeması, Instagram toplayıcı ve oturum girişi, X toplayıcı, zaman serisi izleyici, metrik motoru ve birim testleri, analiz grafikleri, rakip karşılaştırması, öneri motoru, kampanya/hedef görünümleri, rapor çıktısı ile Docker ve dokümantasyon.
Yol boyunca yapılan belirgin tercihler ve revizyonlar:
Güvenlik açıklarını sıfırlamak için, planlanan Next.js 14 yerine Next.js 16 + React 19’a geçildi; yayın tek bir platforma bağlı kalmasın diye Vercel yerine kendi sunucumda Docker ile yayına alma kararı verildi.
Şifre hiçbir yerde saklanmıyor: giriş için tarayıcı açılıp elle giriş yapılıyor, yalnızca oturum çerezleri yerel bir dosyaya kaydediliyor. Sunucuda ekran olmadığı için oturum dosyası kendi bilgisayarımda oluşturulup panelden indiriliyor ve sunucuya yükleniyor.
Başta planlanan yapay zekâ (LLM) tabanlı analiz kaldırıldı; yerine denetlenebilir ve test edilebilir bir kural motoru konuldu.
Tüm işlemler komut satırından değil panelden yapılabiliyor: toplayıcıyı arka planda çalıştırıp çıktısını canlı gösteren bir kontrol paneli eklendi.
Arayüz baştan sona Türkçeleştirildi, sayılar Türkçe biçime çevrildi ve grafik renkleri renk körlüğü/kontrast açısından doğrulandı. Metinler “programcı gibi değil, normal kullanıcı gibi” anlaşılır olacak şekilde sadeleştirildi; müşteri görünümü ile teknik görünüm ayrıldı.
Tarama 25 gönderiyle sınırlı olduğu için izleyiciye, her gün bir hesabın arşivini kademeli olarak derinleştiren bir mekanizma eklendi.
Yayına alma
Proje GitHub’da özel bir depoda tutuluyor ve Coolify ile kendi sunucumda, tek konteynerde (web paneli + izleyici) mvp.ahmetkadir.com adresinde yayında. Her push otomatik olarak dağıtılıyor.
Bu aşamada çözülen sorunlar: Coolify’ın GitHub erişimi bir GitHub App bağlantısıyla kuruldu; .gitignore içindeki “debug” kuralının yeni bir API klasörünü de dışlaması sunucu derlemesini bozuyordu, kural kök dizine sabitlendi; sunucunun IP’sinden Instagram önce çerez sonra bildirim izni modalları gösterip içeriği engelliyordu, bu modalları otomatik kapatan bir mekanizma eklendi. Ekransız sunucuda hata ayıklayabilmek için, tarama başarısız olduğunda sunucunun o an ne gördüğünü panelde gösteren bir görüntüleyici yazıldı.
Sonuç
Sosyal medya pazarlamasının tüm döngüsünü kapsayan çalışan bir ürün: veri topla, analiz et, rakiple kıyasla, öneri üret, planla, izle, raporla. Birim testleri, aşama aşama commit geçmişi ve mimari şema içeren bir README ile birlikte canlı sunucuda yayında.