limeJourney:构建个性化用户旅程的开源平台
项目介绍
limeJourney 是一个具备人工智能能力的开源客户参与平台,旨在帮助企业在大规模上创建个性化的、数据驱动的用户旅程。该项目由 Tobi Okewole 创建,解决了现有工具成本高昂和需要完全改变通信堆栈两大难题。limeJourney 提供了开放源代码的便利性,允许小团队和开发者免费使用,同时提供了云服务版本供需要托管解决方案的用户选择。
项目技术分析
limeJourney 采用现代、可扩展的架构设计,能够处理高容量数据分析和实时交互。该项目是一个全栈单仓库应用,完全使用 TypeScript 开发。
技术栈包括:
- Turbo:用于管理单仓库
- Next.js:用于构建 Web 应用
- TailwindCSS:用于样式设计
- Express:用于 API 服务
- TSOA:用于生成 API 路由和 OpenAPI 文档
- PostgreSQL:作为主要数据存储
- Redis:用于键值存储,管理旅程与触发器的映射
- ClickHouse:用于管理大量事件/实体数据及实时分段
- Temporal:用于执行视觉旅程构建器中的旅程
- Kafka(托管于 Upstash):作为系统的中心事件总线
项目技术应用场景
limeJourney 的设计理念是通过人工智能模型帮助用户更好地了解客户,创建动态的用户分群,以及连接现有的工具和服务,特别适用于以下场景:
- 营销自动化:通过自动化的用户旅程,提高营销活动的效率和质量。
- 用户留存:通过实时用户分群和个性化消息,提升用户留存率。
- 客户支持:通过分析用户行为,提供更加精准的客户支持服务。
项目特点
- AI-Driven Insights:利用人工智能模型,深入理解用户行为和需求。
- Visual Journey Builder:直观的拖放界面,轻松创建复杂的用户旅程。
- Dynamic Segmentation:基于用户事件或属性,动态创建用户分群。
- Integration:与现有工具和服务无缝集成,无需完全改变通信堆栈。
后端架构详解
limeJourney 的后端架构包括以下核心组件:
- 事件流 backbone:基于 Kafka 的事件流平台,作为系统的神经系统。
- 实时分段引擎:利用 ClickHouse 的强大查询能力,实现动态用户分类。
- 旅程编排:通过 Temporal 管理复杂的长期用户旅程。
- 实体管理:处理所有与用户相关的数据,提供统一的用户视图。
数据流程和交互涉及:
- 用户行为生成事件,发布到 Kafka。
- 事件存储在 ClickHouse 中。
- 分段引擎查询 ClickHouse,根据最新事件和实体数据更新用户分群。
- 分段变化或特定事件触发旅程编排。
- 旅程通过 Temporal 管理一系列随时间发生的动作。
数据存储包括 ClickHouse、PostgreSQL 和 Redis,分别用于大规模数据存储、关系数据和快速键值存储。
架构决策
- 事件驱动设计:支持可扩展性、灵活性和实时响应。
- ClickHouse for Large-Scale Data:利用其列式结构进行高效存储和查询。
- 模块化组件设计:便于开发和维护系统的不同方面。
- 工作流即代码:Temporal 允许将复杂旅程定义为代码,简化管理和版本控制。
通过 limeJourney,企业可以轻松构建和管理个性化的用户旅程,提升客户参与度和满意度。开源社区的贡献将进一步丰富其功能和适用场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考