Semana 6 fue una mezcla de observabilidad, comprobaciones prácticas y aprendizaje rápido sobre hasta dónde se puede estirar un patrón de búsqueda de creadores sin que todo se rompa.

La semana anterior nos centramos en la observabilidad: métricas y dashboards para ver qué hace realmente el sistema en lugar de guiarnos por la intuición. Esta semana no se trató de inventar algo desde cero sino de responder una pregunta práctica y concreta: podemos aplicar la misma idea a otras plataformas sociales sin que el sistema entero colapse. Respuesta corta: parcialmente.

TikTok: problema similar, forma distinta. Wykra nació para resolver una pregunta humana sencilla y valiosa: puedes encontrar creadores como este. Describes al influencer que necesitas y nosotros salimos a buscarlo. El flujo general es familiar: recibes un id de tarea inmediatamente mientras el trabajo ocurre en segundo plano. Un worker transforma la petición libre en parámetros estructurados, lanza un scraper sobre un dataset de Bright Data, puntúa los perfiles con un LLM, descarta los irrelevantes y almacena todo para que puedas consultar los resultados en tasks por id.

El primer paso sigue siendo vibe in JSON out. Enviamos la consulta original al LLM para extraer un pequeño objeto de contexto: nicho, localización, código de país normalizado, número objetivo de creadores y unas frases cortas útiles para la caja de búsqueda de TikTok. Si el modelo no se pone de acuerdo sobre la categoría, paramos en ese punto en vez de suponer que sabemos qué buscar. Con el contexto listo generamos hasta tres términos de búsqueda, elegimos país (por defecto US si no hay contexto) y seguimos.

Aquí TikTok diverge de Instagram: gracias a que el dataset de TikTok tiene búsqueda por palabra clave, podemos saltarnos la fase extra de descubrimiento que usamos con Instagram. Para cada término generamos una URL de búsqueda de TikTok, activamos el dataset de Bright Data con esa URL y país, esperamos al snapshot, descargamos el JSON y luego fusionamos y desduplicamos perfiles por URL. Todo esto puede tardar, así que vive como un job asíncrono de larga ejecución dentro del mismo sistema genérico de Tasks que ya usamos.

Cuando tenemos los perfiles crudos vuelve el LLM. Para cada perfil extraemos los básicos handle, url, número de seguidores, privacidad y bio, enviamos esto junto a la consulta original al modelo y pedimos un resumen corto, una puntuación de calidad de 1 a 5 y un porcentaje de relevancia. Todo lo que quede por debajo del 70 por ciento de relevancia se descarta; lo demás se guarda con su resumen y puntuación y se enlaza a la tarea. La plataforma cambia pero el patrón permanece: contexto estructurado al inicio, Bright Data en el medio y LLM de scoring al final.

La gestión de tareas es simple: pending running completed o failed. Guardamos el registro de la tarea y todos los perfiles TikTok vinculados para que al pedir tasks por id se vea el estado crudo y la lista de perfiles analizados. Esto ha sido muy útil para depurar: si TikTok devuelve vacío pero la tarea aparece completada probablemente el problema esté en el crawling o en el análisis, no en la cola. Gracias a la observabilidad añadida, casi cada paso está instrumentado con métricas: cuántas tareas de búsqueda se crean, completan o fallan, cuánto tiempo pasan en cola, cuánto tardan las llamadas a Bright Data y con qué frecuencia devuelven error, cuántas llamadas LLM hacemos y cuál es su coste.

YouTube: el spinner de media hora de la muerte. TikTok fue la historia de éxito de la semana. YouTube nos recordó que no todo está listo para conectarse en caliente a Wykra por muy limpia que parezca la arquitectura. Probamos con una llamada suave a YouTube pero el dataset se quedó dando vueltas y devolvió un error de crawler indicando un token inesperado en el JSON, así que por ahora YouTube no está integrado: la snapshot queda en spinning, lanza error y no obtenemos datos útiles. Hemos abierto un ticket con Bright Data y pospusimos YouTube hasta que lo solucionen.

Threads tuvo su intento propio. La idea era simple: descubrimiento por palabra clave básico. El parámetro keyword existe y el dataset existe, pero el conector en el medio no funciona y devuelve un error de parseo. Resultado similar a YouTube: detectado, anotado y pospuesto a la lista de tareas pendientes para implementar soporte correcto más adelante.

LinkedIn repite la historia de Instagram: no hay una búsqueda por palabra clave que nos permita pedir encuentra gente que hable de X desde el país Y de forma directa. Sí se pueden cargar perfiles y páginas, pero no como Wykra lo necesita para discovery por keywords. La conclusión es la misma que con Instagram: si queremos descubrimiento por palabra clave necesitaremos superponer una capa de búsqueda estilo Perplexity o LLM sobre LinkedIn, no basta con apoyarse únicamente en el dataset. Eso queda como una tarea definida para una próxima semana.

En resumen la semana se dedicó a probar hasta dónde estira el patrón existente y dónde se rompe. TikTok se comporta, YouTube y Threads no, y LinkedIn requiere su propia capa de búsqueda. Por ahora preferimos tener un par de flujos robustos que funcionen bien a cinco a medias rotas.

En Q2BSTUDIO nos especializamos en convertir estos aprendizajes en soluciones reales. Como empresa de desarrollo de software creamos aplicaciones a medida y software a medida que integran pipelines de datos, LLMs y herramientas de scraping de forma segura y escalable. También entregamos soluciones de IA para empresas incluyendo agentes IA, modelos de scoring, y automatizaciones que reducen el tiempo de búsqueda y mejoran la calidad de los resultados.

Además ofrecemos servicios complementarios que son críticos para proyectos como este: ciberseguridad y pentesting para proteger el flujo de datos y las credenciales, servicios cloud aws y azure para desplegar infraestructuras elásticas y seguras, y servicios de inteligencia de negocio y power bi para convertir los perfiles y métricas en información accionable. Si tu empresa necesita software a medida, inteligencia artificial aplicada, agentes IA, o potenciar la analítica con power bi podemos ayudar a diseñar la solución adecuada.

Si quieres seguir el desarrollo del proyecto o colaborar, valoramos el apoyo a repositorios públicos y la retroalimentación directa en redes. Mientras tanto seguiremos iterando: priorizando observabilidad, añadiendo métricas y cerrando gaps plataforma por plataforma hasta que los flujos sean reproducibles y fiables.