- Plataforma open source de participación de clientes impulsada por IA, que ayuda a diseñar recorridos de usuario personalizados a gran escala aprovechando los datos
- Alternativa open source a Customer.io
- Problemas de las herramientas existentes: alto costo y la dificultad de tener que cambiar toda la pila de comunicación actual
- LimeJourney fue diseñado en torno a estos dos principios:
- Accesibilidad open source: desarrolladores y equipos pequeños pueden usarlo gratis. Si se prefiere una solución administrada, también ofrece una versión en la nube
- Soporte para integraciones existentes (BYOI): permite integrarse con las herramientas actuales, sin necesidad de reemplazar toda la pila
Funciones principales
- Insights impulsados por IA: usa modelos de IA para ayudar a comprender a los clientes
- Constructor visual de recorridos: permite crear recorridos de usuario complejos con una interfaz intuitiva de arrastrar y soltar
- Segmentación dinámica: permite crear segmentos según eventos o atributos del usuario
- Ejemplo: "usuarios que no han comprado en los últimos 30 días"
- Funciones de integración: puede conectarse con herramientas y servicios existentes, y sigue agregando integraciones relacionadas con la recolección de datos
Stack tecnológico de LimeJourney
- Aplicación full-stack monorepo (escrita en TypeScript)
- Tecnologías principales:
- Turbo: gestión del monorepo
- Next.js: desarrollo de la app web
- TailwindCSS: estilos
- Express: desarrollo de API
- TSOA: generación de rutas de API y documentación OpenAPI
- PostgreSQL: almacén de datos principal
- Redis: almacén KV para gestionar el mapeo Journey-Trigger
- ClickHouse: gestión de datos de eventos/entidades a gran escala y segmentación en tiempo real
- Temporal: ejecución de recorridos creados en el constructor visual de recorridos
- Kafka: bus central de eventos (alojado en Upstash)
Arquitectura de backend
Componentes clave
- Backbone de streaming de eventos (basado en Kafka)
- Procesamiento de alta velocidad de eventos de usuarios y del sistema
- Soporte para comunicación asíncrona entre módulos dentro del sistema
- Proporciona consistencia de datos y capacidad de reproducción mediante event sourcing
- Motor de segmentación en tiempo real
- Aprovecha las capacidades de consultas de alto rendimiento de ClickHouse
- Crea segmentos dinámicos basados en atributos y comportamiento del usuario
- Permite cálculos rápidos de segmentos incluso a gran escala
- Orquestación de recorridos
- Gestiona recorridos de usuario complejos con base en Temporal
- Garantiza la confiabilidad de los workflows y permite recuperación ante fallas
- Soporta pausar, reanudar y modificar recorridos
- Gestión de entidades
- Administra perfiles y atributos de usuario
- Publica eventos de cambios en entidades
- Proporciona datos de usuario unificados en toda la plataforma
Flujo de datos e interacciones
- Las acciones del usuario (por ejemplo, vistas de página, compras) generan eventos que se envían a Kafka
- Los eventos se almacenan en ClickHouse para habilitar análisis de datos a gran escala
- El motor de segmentación actualiza segmentos de usuarios en tiempo real con base en los eventos y datos más recientes
- Los cambios de segmentación o eventos específicos activan la orquestación de recorridos
- Temporal gestiona los recorridos y realiza tareas como las siguientes:
- Consultar datos del usuario y el historial de eventos
- Verificar el estado actual de segmentación
- Activar acciones externas (por ejemplo, envío de correos electrónicos, notificaciones push)
- Cuando ocurren tareas clave o cambios de estado, se generan nuevos eventos y se vuelven a enviar al sistema
2 comentarios
¿kafka sería adecuado para eventos de gran volumen como estos?
Como se usa porque se necesita procesamiento asíncrono, ¿no sería adecuado?