17 puntos por junhoyeo 2023-07-08 | 10 comentarios | Compartir por WhatsApp

Antecedentes

  • Ayer por la mañana se lanzó Threads, la app de Meta (Instagram) presentada como competidora de Twitter, y alcanzó 10 millones de usuarios en solo 7 horas desde su lanzamiento
  • Pensé que no podía limitarme a ver el hype alrededor de Threads y me puse a pensar cómo aprovechar esta oportunidad
  • Decidí crear un cliente en TypeScript/Node.js usando una API privada
    • Hace 3 años, cuando Clubhouse también se lanzó sin web app, llegué a descifrar las solicitudes de API con un SSL Proxy para crear un servicio web (junhoyeo/clubhouse-profile). A la gente a mi alrededor le pareció divertido, pero no llegó a generar un impacto mayor
    • Pero esta vez sentí que, por el momento, valía la pena intentar esa estrategia de nuevo:
      • El año pasado apareció ChatGPT y, a medida que los desarrolladores creaban clientes/servicios no oficiales, todo el ecosistema fue evolucionando
      • Incluso ahora, si ves el feed de GitHub, es fácil encontrar nuevos repositorios sobre SDKs de ChatGPT/OpenAI o clientes personalizados
    • Si lo intentaba de nuevo esta vez, sentía que podía hacerlo de una forma mucho más interesante

Dirección a futuro

  • Threads se está preparando para integrarse de forma compatible con el ecosistema fediverso impulsado por Mastodon
  • El negocio de las APIs en las redes sociales, como el de Twitter de Elon Musk y Reddit (que rápidamente siguió el mismo camino), es otra tendencia más
  • Que Meta abra la API de Threads al exterior parece solo cuestión de tiempo
  • El caso de ChatGPT
    • Travis Fischer fue una de las primeras personas en crear un ChatGPT Client
      • Tiene, entre otros, el repositorio transitive-bullshit/chatgpt-api con más de 14k estrellas
      • Después de que OpenAI lanzara la API de GPT4 de forma accesible para la mayoría de los usuarios, reposicionó rápidamente el proyecto: pasó de ser un cliente no oficial a uno que integra la API oficial
  • Pensé que, cuando Meta se mueva, si agrego rápido la integración oficial también podría posicionarme primero como biblioteca SDK

Proceso

  • A las 9 de la noche, en 30 minutos, arranqué el repositorio threads-api publicando una funcionalidad básica que obtiene el User ID que Threads usa internamente a partir del username, y con eso lanza consultas GraphQL para traer el perfil del usuario y los threads publicados
  • Tal vez por las palabras clave, enseguida empezaron a llegar nuevos desarrolladores y aparecieron issues preguntando qué era ese repositorio
  • Seguí desarrollando en modo Working in Public
  • Ese mismo día hice una demo Reader con Next.js y Tailwind

Resultados

  • En solo un día registró más de 200 estrellas y más de 6,000 pageviews
  • Desarrolladores de distintas nacionalidades contribuyeron y compartieron ideas en Threads y Twitter
  • Personas inspiradas por esto crearon clientes en versiones para Rust, Go, Java y Python
  • Incluso recibí propuestas de patrocinio a través de issues en GitHub

Lo que sigue

  • Integración de autenticación
  • Crear componentes de UI emocionantes
  • Lanzar un cliente personalizado mantenido por la comunidad open source

10 comentarios

 
sollscherr 2023-11-19

T_T Meta exige que detengas estas actividades de inmediato.

 
junhoyeo 2024-01-18

Por suerte, pude resolverlo bien con el abogado del bufete que se puso en contacto conmigo. Viéndolo en retrospectiva, creo que al final solo fue una anécdota divertida. jaja

 
tpdns90321 2023-07-11

Felicitaciones por entrar en las tendencias de GitHub, bien ahí.

 
junhoyeo 2024-01-18

Recién me di cuenta. ¡Gracias! Creo que esta fue la primera vez que estuvo en tendencias; una vez que sube, los bots lo empiezan a mover por todos lados jaja

 
kuroneko 2023-07-10

Está genial.

Yo también, al ver Threads, pensé que alguien terminaría creando otra API,
pero de verdad la pusiste en marcha rapidísimo.

Ojalá todo siga viento en popa y termine sumándose como biblioteca oficial.

 
junhoyeo 2024-01-18

¡Gracias! Parece que fue una jugada maestra haber implementado write, pero publicar primero solo read sin liberar lo demás y adelantarnos
La librería oficial ya quedó descartada, pero de aquí en adelante seguiré haciendo muchos proyectos interesantes.

 
laeyoung 2023-07-09

Guau

 
junhoyeo 2024-01-18

¡Muchas gracias!

 
kuber 2023-07-08

¡Impresionante!

 
junhoyeo 2024-01-18

¡¡Muchas gracias!!