← Volver a proyectos
Dashboard

CFA Trending (CFA Radar)

21 may 2026
5 min read

Contexto: El equipo de comunicaciones necesitaba detectar tendencias reales de TikTok (hashtags, palabras, cuentas, audios, temas y videos) sin depender de “ver qué aparece en el feed”, y además poder comparar semana a semana con un historial auditable.


El desafío

Pasar de un proceso manual y subjetivo a un radar confiable con datos, filtros y consistencia.

AntesDespués
Alguien revisaba el feed “a ojo”Datos estructurados por keyword
Sin historial ni trazabilidadCada sync tiene un syncId auditable
Métricas imposibles de compararAgregaciones semanales automáticas
Dependencia de una personaDashboard accesible para todo el equipo

El resultado

Una app interna tipo dashboard que centraliza el análisis de tendencias:

  • Sincroniza datos por keywords desde Apify
  • Normaliza y persiste el dataset en PostgreSQL
  • Calcula agregaciones y métricas semanales listas para consumo
  • Protege el acceso con JWT + cookie HTTP-only

¿Qué es y qué hace?

CFA-Trending (también llamado CFA Radar) es una aplicación interna construida para monitorear contenido en tendencia de TikTok dentro de un foco de interés definido (sector/keywords).

ComponenteDescripción
weeklyMetricsVolumen, comportamiento, señales de crecimiento
trendingHashtagsHashtags con mayor tracción
trendingWordsPalabras clave emergentes
accountsTableCuentas que están ganando tracción
trendingTopicsTemas “hot” del período
trendingAudiosAudios en tendencia
featuredVideosVideos destacados para inspiración

¿Cómo funciona?

Login y control de acceso

El usuario inicia sesión desde la UI. La API valida credenciales (variables de entorno). Si son correctas firma un JWT, lo guarda como cookie auth HTTP-only. Un middleware protege rutas — sin cookie válida redirige a /login.

Sincronización y versionado por lotes

  • sync=false — lee el último lote existente
  • sync=true o sin datos previos — consulta Apify, transforma items crudos a CleanVideo, guarda en DB con un syncId único

Agregaciones para el dashboard

Con el último syncId se calculan todas las estructuras que consume la UI. El frontend solo renderiza, filtra y presenta.


Stack técnico

CapaTecnología
FrontendNext.js (App Router) + React + TypeScript
UITailwind CSS + lucide-react
Backend APIHono dentro de Next (/api/*)
AuthJWT + cookie HTTP-only
Base de datosPostgreSQL + drizzle-orm + postgres-js
Fuente de datosApify (TikTok keyword search)
Validaciónzod + react-hook-form
Testingvitest (con playwright browser support)
UI workshopStorybook

¿Qué facilita?

  • Estandariza el análisis: todos miran las mismas métricas calculadas con la misma lógica
  • Historial auditable: cada lote tiene un syncId para rastrear y comparar
  • Reduce fricción operativa: un botón “Sincronizar” reemplaza tareas manuales repetitivas
  • Modo dev/mock: USE_MOCK_DATA=true permite desarrollar sin depender de Apify

Visión a futuro

Evolucionar el radar hacia un flujo editorial más completo:

  • Guardar selecciones y notas internas por video/tema
  • Crear colecciones y reportes por campaña
  • Exportaciones automatizadas (resúmenes semanales para el equipo)

Suscríbete al newsletter

Recibe las últimas ideas sobre ingeniería social directamente en tu bandeja de entrada.