- Plataforma open source de engajamento de clientes baseada em IA, que ajuda a projetar jornadas de usuário personalizadas em grande escala usando dados
- Alternativa open source ao Customer.io
- Problemas das ferramentas existentes: custo alto e dificuldade de ter que trocar toda a stack de comunicação atual
- O LimeJourney foi projetado com foco em dois princípios:
- Acessibilidade open source: desenvolvedores e equipes pequenas podem usar gratuitamente. Para quem prefere uma solução gerenciada, também há uma versão em nuvem
- Suporte à integração existente (BYOI): oferece integração com ferramentas já existentes, sem necessidade de substituir toda a stack
Principais recursos
- Insights com IA: usa modelos de IA para ajudar a entender os clientes
- Construtor visual de jornadas: permite criar jornadas complexas de usuário com uma interface intuitiva de arrastar e soltar
- Segmentação dinâmica: permite criar segmentos com base em eventos ou atributos dos usuários
- Ex.: "usuários que não compraram nos últimos 30 dias"
- Integrações: pode se conectar a ferramentas e serviços existentes, e continua adicionando integrações relacionadas à coleta de dados
Stack técnica do LimeJourney
- Aplicação full-stack em monorepo (escrita em TypeScript)
- Principais tecnologias:
- Turbo: gerenciamento de monorepo
- Next.js: desenvolvimento do app web
- TailwindCSS: estilização
- Express: desenvolvimento de API
- TSOA: geração de rotas de API e documentação OpenAPI
- PostgreSQL: principal armazenamento de dados
- Redis: armazenamento KV para gerenciar o mapeamento Journey-Trigger
- ClickHouse: gerenciamento de dados de eventos/entidades em grande escala e segmentação em tempo real
- Temporal: execução das jornadas criadas no construtor visual de jornadas
- Kafka: barramento central de eventos (hospedado na Upstash)
Arquitetura de backend
Componentes principais
- Backbone de streaming de eventos (baseado em Kafka)
- Processamento em alta velocidade de eventos de usuários e do sistema
- Suporte à comunicação assíncrona entre módulos dentro do sistema
- Fornece consistência de dados e capacidade de replay por meio de event sourcing
- Motor de segmentação em tempo real
- Aproveita os recursos de consulta de alto desempenho do ClickHouse
- Cria segmentos dinâmicos com base em atributos e comportamentos dos usuários
- Permite cálculos rápidos de segmentos mesmo em grande escala
- Orquestração de jornadas
- Gerencia jornadas complexas de usuários com base no Temporal
- Garante a confiabilidade dos workflows e permite recuperação em caso de falha
- Suporta pausar, retomar e modificar jornadas
- Gerenciamento de entidades
- Gerencia perfis e atributos de usuários
- Publica eventos de alteração de entidades
- Fornece dados unificados de usuários em toda a plataforma
Fluxo de dados e interações
- Ações do usuário (ex.: visualização de página, compra) geram eventos que são enviados ao Kafka
- Os eventos são armazenados no ClickHouse para dar suporte à análise de dados em grande escala
- O motor de segmentação atualiza segmentos de usuários em tempo real com base nos eventos e dados mais recentes
- Mudanças de segmentação ou eventos específicos acionam a orquestração de jornadas
- O Temporal gerencia as jornadas e executa tarefas como:
- Consultar dados de usuários e histórico de eventos
- Verificar o estado atual da segmentação
- Acionar ações externas (ex.: envio de e-mail, notificações push)
- Quando ocorrem tarefas importantes ou mudanças de estado, novos eventos são gerados e enviados de volta ao sistema
2 comentários
O Kafka seria adequado para esse tipo de evento em grande volume?
Como isso é usado por exigir processamento assíncrono, não seria adequado?