17 points par junhoyeo 2023-07-08 | 10 commentaires | Partager sur WhatsApp

Contexte

  • Hier matin, Threads, l’application lancée par Meta (Instagram) comme alternative à Twitter, a été publiée et a atteint 10 millions d’utilisateurs en seulement 7 heures après son lancement
  • Je me suis dit qu’il était impossible de simplement regarder l’engouement autour de Threads sans rien faire, et j’ai réfléchi à la manière de tirer parti de cette opportunité
  • J’ai décidé de créer un client TypeScript/Node.js en utilisant une API privée
    • Il y a 3 ans déjà, lorsque Clubhouse avait été lancé sans web app, j’avais disséqué les requêtes API via un proxy SSL pour créer un service web (junhoyeo/clubhouse-profile). Les gens autour de moi avaient trouvé ça amusant, mais cela n’avait pas eu un impact plus important
    • Mais cette fois, j’ai eu le sentiment qu’au niveau du timing, c’était une stratégie qui valait de nouveau la peine d’être tentée :
      • L’année dernière, avec l’arrivée de ChatGPT, les développeurs ont créé des clients/services non officiels et tout l’écosystème s’est développé
      • Encore aujourd’hui, en parcourant le fil GitHub, on voit facilement de nouveaux dépôts autour des SDK ChatGPT/OpenAI ou de clients personnalisés
    • Si je retentais l’expérience cette fois, j’avais l’impression de pouvoir faire quelque chose de bien plus intéressant

Orientations à venir

  • Threads prépare une intégration compatible avec l’écosystème fediverse porté par Mastodon
  • Le business des API chez les réseaux sociaux, comme le Twitter d’Elon Musk et Reddit (qui a suivi très vite), est aussi devenu une tendance
  • Ce n’est qu’une question de temps avant que Meta n’ouvre l’API de Threads à l’extérieur
  • Le cas de ChatGPT
    • Travis Fischer, l’un des premiers à avoir créé un client ChatGPT
      • possède notamment le dépôt transitive-bullshit/chatgpt-api, qui compte plus de 14k étoiles
      • après qu’OpenAI a lancé l’API GPT4 accessible à la plupart des utilisateurs, il a rapidement repositionné le projet d’un client non officiel vers un client intégrant l’API officielle
  • Je me suis dit que lorsque Meta bougera, si j’ajoute rapidement une intégration officielle, je pourrai prendre position à l’avance comme bibliothèque SDK de référence

Avancement

  • À 21 h, en 30 minutes, j’ai d’abord créé une fonctionnalité de base qui récupère le User ID utilisé en interne par Threads à partir du nom d’utilisateur (username), puis envoie une requête GraphQL avec cet identifiant pour récupérer le profil utilisateur et les threads publiés, et c’est ainsi que j’ai lancé le dépôt threads-api
  • Sans doute à cause du mot-clé, de nouveaux développeurs sont arrivés immédiatement, avec des issues demandant de quel type de dépôt il s’agissait
  • Le développement a continué en mode Working in Public
  • Le jour même, j’ai créé une démo Reader avec Next.js et Tailwind

Résultats

  • En une seule journée, le projet a dépassé les 200 étoiles et les 6 000 pages vues
  • Des développeurs de diverses nationalités ont contribué et partagé des idées sur Threads et Twitter
  • Des personnes inspirées par ce projet ont créé des clients en Rust, Go, Java et Python
  • J’ai même reçu des propositions de sponsoring via les issues GitHub

À venir

  • Intégration de l’authentification
  • Création de composants UI amusants
  • Lancement d’un client personnalisé maintenu par la communauté open source

10 commentaires

 
sollscherr 2023-11-19

T_T Meta exige que vous cessiez immédiatement ces activités.

 
junhoyeo 2024-01-18

Heureusement, ça s’est bien terminé avec l’avocat du cabinet qui m’a contacté. Avec le recul, j’ai l’impression que ce n’était qu’une péripétie assez amusante. haha

 
tpdns90321 2023-07-11

Félicitations pour être en tendance sur GitHub, bravo bravo

 
junhoyeo 2024-01-18

Je viens de le voir. Merci ! Je crois que c’est la première fois que ça passait dans les tendances, et une fois que ça monte, les bots le relaient partout, haha.

 
kuroneko 2023-07-10

C’est excellent.

Moi aussi, en voyant Threads, je me suis dit que quelqu’un finirait bien par créer une API,
et vous êtes effectivement passé très vite à l’exécution !

J’espère que tout se passera bien et que cela rejoindra la bibliothèque officielle.

 
junhoyeo 2024-01-18

Merci ! Je pense que le vrai coup de génie a été d’implémenter write, puis de ne pas le publier tout de suite et de sortir d’abord uniquement read pour prendre les devants haha
La bibliothèque officielle est tombée à l’eau, mais je vais continuer à travailler sur plein de projets intéressants !

 
laeyoung 2023-07-09

Waouh

 
junhoyeo 2024-01-18

Merci beaucoup !

 
kuber 2023-07-08

C’est impressionnant !

 
junhoyeo 2024-01-18

Merci !!