Threads API - el primer cliente no oficial para Threads
(github.com/junhoyeo)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
- Travis Fischer fue una de las primeras personas en crear un ChatGPT Client
- 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-apipublicando 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
T_T Meta exige que detengas estas actividades de inmediato.
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
Felicitaciones por entrar en las tendencias de GitHub, bien ahí.
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
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.
¡Gracias! Parece que fue una jugada maestra haber implementado
write, pero publicar primero soloreadsin liberar lo demás y adelantarnosLa librería oficial ya quedó descartada, pero de aquí en adelante seguiré haciendo muchos proyectos interesantes.
Guau
¡Muchas gracias!
¡Impresionante!
¡¡Muchas gracias!!