17 puan yazan junhoyeo 2023-07-08 | 10 yorum | WhatsApp'ta paylaş

Arka plan

  • Dün sabah Meta'nın (Instagram) Twitter'a rakip olarak çıkardığı uygulama Threads kullanıma sunuldu ve lansmandan yalnızca 7 saat sonra 10 milyon kullanıcıya ulaştı
  • Threads etrafındaki hype'ı sadece izlemekle yetinmemem gerektiğini düşündüm ve bu fırsatı nasıl değerlendirebileceğimi kafa yordum
  • Gizli API'yi kullanarak bir TypeScript/Node.js istemcisi yapmaya karar verdim
    • 3 yıl önce de Clubhouse web uygulaması olmadan yayına girdiğinde SSL Proxy ile API isteklerini analiz edip bir web servisi yapmıştım (junhoyeo/clubhouse-profile). Etrafımdakiler bunu eğlenceli bulmuştu ama bundan daha büyük bir etki yaratamamıştı
    • Ama bu kez zamanlama açısından yeniden denemeye değer bir strateji gibi hissettirdi:
      • Geçen yıl ChatGPT çıktıktan sonra geliştiriciler gayriresmî istemciler/servisler oluşturdu ve tüm ekosistem bu sayede gelişti
      • Hâlâ GitHub akışına bakınca ChatGPT/OpenAI SDK'leri ya da özel istemcilerle ilgili yeni depoları kolayca görmek mümkün
    • Bu kez yeniden denersem çok daha eğlenceli bir şey ortaya çıkarabileceğimi düşündüm

İlerideki yön

  • Threads, Mastodon'un desteklediği fediverse ekosistemiyle uyumlu olacak şekilde entegrasyon hazırlıyor
  • Elon Musk'ın Twitter'ı ve (hemen peşinden gelen) Reddit gibi platformlarla birlikte, sosyal ağların API üzerinden para kazanması yine bir trend hâline geldi
  • Meta'nın Threads API'sini dışarıya açması sadece zaman meselesi gibi görünüyor
  • ChatGPT örneği
    • ChatGPT Client'ı ilk yapan kişilerden biri olan Travis Fischer
      • transitive-bullshit/chatgpt-api gibi 14k'dan fazla yıldızı olan depolara sahip
      • OpenAI, GPT4 API'sini çoğu kullanıcının erişebileceği şekilde yayımladıktan sonra projenin konumunu gayriresmî istemciden resmî API'yi entegre eden bir istemciye hızla çevirdi
  • Meta da harekete geçtiğinde resmî entegrasyonu hızlıca ekleyerek SDK kütüphanesi konumunu erkenden kapabileceğimi düşündüm

İlerleme

  • Akşam 9'da, 30 dakika içinde kullanıcı adından (username) Threads'in dahili olarak kullandığı User ID'yi bulup bunu kullanarak GraphQL sorgusu gönderen, kullanıcı profiliyle paylaşılan thread'leri getiren temel işlevleri hazırlayarak threads-api deposunu başlattım
  • Anahtar kelimeler sayesinde olsa gerek, hemen yeni geliştiriciler gelmeye başladı ve bunun ne tür bir repo olduğunu soran issue'lar açıldı
  • Working in Public yaklaşımıyla geliştirmeye devam ettim
  • Aynı gün Next.js ve Tailwind ile bir Reader demosu yaptım

Sonuçlar

  • Sadece bir günde 200'den fazla yıldız ve 6.000'den fazla sayfa görüntülemesi aldı
  • Farklı ülkelerden geliştiriciler katkı sundu, Threads ve Twitter üzerinden fikir paylaştı
  • Buradan ilham alan kişiler Rust, Go, Java ve Python sürümlerinde istemciler yaptı
  • GitHub issue'ları üzerinden sponsorluk teklifleri de aldım

Sonrasında

  • Kimlik doğrulama entegrasyonu
  • Eğlenceli UI bileşenleri yapmak
  • Açık kaynak topluluğu tarafından sürdürülen özel istemciyi yayına almak

10 yorum

 
sollscherr 2023-11-19

T_T Meta bu faaliyetleri derhal durdurmanızı talep ediyor.

 
junhoyeo 2024-01-18

Neyse ki benimle iletişime geçen hukuk bürosunun avukatıyla işi iyi bir şekilde sonuçlandırdık. Sonradan dönüp bakınca bunun sadece eğlenceli bir küçük olay olduğunu düşünüyorum. haha

 
tpdns90321 2023-07-11

GitHub trending’e girdiğiniz için tebrikler tebrikler

 
junhoyeo 2024-01-18

Şimdi fark ettim. Teşekkürler! Sanırım bu, ilk kez trend olduğum zamandı; bir kez yükselince botlar bunu oradan oraya taşıyor haha

 
kuroneko 2023-07-10

Harika.

Ben de Threads’i görünce birilerinin yine bir API yapacağını düşünmüştüm,
ama gerçekten de bunu çok hızlı bir şekilde hayata geçirmişsiniz!

Umarım işler yolunda gider ve resmi kütüphaneye dahil olur.

 
junhoyeo 2024-01-18

Teşekkürler! Sanırım write uyguladıktan sonra herkese açmadan önce yalnızca read sürümünü yayınlayıp önden yer tutmak dâhiyane bir hamle oldu haha
Resmî kütüphane işi suya düşmüş olsa da, bundan sonra da eğlenceli projeler yapmaya devam edeceğim!

 
laeyoung 2023-07-09

Vay canına

 
junhoyeo 2024-01-18

Teşekkürler!

 
kuber 2023-07-08

Harika!

 
junhoyeo 2024-01-18

Çok teşekkürler!!