PlataformaWebMóvil
Una plataforma de telemetría de frontend en tiempo real
Un SDK de frontend tipado y una canalización de eventos que dieron visibilidad en tiempo real a los flujos de usuario de varios pasos, reduciendo la detección de incidentes de días a minutos.
- Stack
- TypeScript · BFF · Event streaming · Columnar storage · Dashboards
El problema
Algunos usuarios abandonaban en silencio un flujo largo de varios pasos. Cuando fallaba una integración con un tercero, nadie lo veía: el diagnóstico implicaba leer a mano registros de servidor dispersos y tardaba días. Cada uno de esos días son usuarios reales que no pudieron terminar.
El enfoque
- Un SDK pequeño y tipado. Un único rastreador en TypeScript recogía los mismos datos de acciones del usuario en cada pantalla y plataforma, de modo que un evento significaba lo mismo en todas partes.
- Limitación de ritmo con válvula de seguridad. El SDK agrupa los eventos y los envía con un temporizador corto o al llegar a un límite de tamaño, lo que ocurra primero. Una petición por clic deja sin hilos de red al navegador; retener los eventos más tiempo arriesga perderlos al cerrar la pestaña, así que al salir de la página se usa
navigator.sendBeacon. - Un BFF que valida. Los lotes llegan a un Backend for Frontend que comprueba el esquema contra las definiciones de TypeScript, verifica que las marcas de tiempo sean razonables, elimina campos inesperados y datos personales, y añade metadatos de sesión. Comparar el veredicto del backend con lo que mostraba la interfaz dejó al descubierto desajustes de estado entre ambos.
- Una canalización de streaming hacia almacenamiento columnar. El streaming absorbe los picos de tráfico, y el almacenamiento columnar responde agregaciones sobre conjuntos de eventos enormes y de alta cardinalidad en milisegundos, donde los almacenes por filas se arrastran.
- Gestión silenciosa de fallos. Si la canalización cae, el SDK guarda un pequeño búfer en local y un cortacircuitos pasivo pausa el envío. No hace ping al servidor para comprobar su estado; espera a la siguiente respuesta correcta.
El resultado
El tiempo para detectar un incidente bajó de días a menos de 5 minutos. Cuando un paso roto significa muchos intentos fallidos, es la diferencia entre una nota en un postmortem y una corrección esa misma mañana.