- Nền tảng tương tác khách hàng mã nguồn mở dựa trên AI, hỗ trợ thiết kế hành trình người dùng được cá nhân hóa ở quy mô lớn bằng cách tận dụng dữ liệu
- Giải pháp thay thế mã nguồn mở cho Customer.io
- Vấn đề của các công cụ hiện có: chi phí cao, khó khăn do phải thay đổi toàn bộ stack giao tiếp hiện tại
- LimeJourney được thiết kế xoay quanh hai nguyên tắc sau:
- Khả năng tiếp cận mã nguồn mở: nhà phát triển và các nhóm nhỏ có thể sử dụng miễn phí. Nếu muốn giải pháp được quản lý, cũng có phiên bản cloud
- Hỗ trợ tích hợp sẵn có (BYOI): hỗ trợ tích hợp với các công cụ hiện có, không cần thay thế toàn bộ stack
Tính năng chính
- Insight dựa trên AI: hỗ trợ hiểu khách hàng bằng các mô hình AI
- Trình dựng hành trình trực quan: có thể tạo hành trình người dùng phức tạp bằng giao diện kéo thả trực quan
- Phân khúc động: có thể tạo segment dựa trên sự kiện hoặc thuộc tính người dùng
- Ví dụ: "người dùng không mua hàng trong 30 ngày gần đây"
- Tính năng tích hợp: có thể kết nối với các công cụ và dịch vụ hiện có, đồng thời liên tục bổ sung các tính năng tích hợp liên quan đến thu thập dữ liệu
Stack công nghệ của LimeJourney
- Ứng dụng monorepo full-stack (được viết bằng TypeScript)
- Công nghệ chính:
- Turbo: quản lý monorepo
- Next.js: phát triển ứng dụng web
- TailwindCSS: styling
- Express: phát triển API
- TSOA: tạo route API và tài liệu OpenAPI
- PostgreSQL: kho lưu trữ dữ liệu chính
- Redis: kho KV để quản lý ánh xạ Journey-Trigger
- ClickHouse: quản lý dữ liệu sự kiện/thực thể quy mô lớn và phân khúc thời gian thực
- Temporal: chạy các hành trình được tạo trong trình dựng hành trình trực quan
- Kafka: event bus trung tâm (được host trên Upstash)
Kiến trúc backend
Thành phần cốt lõi
- Xương sống streaming sự kiện (dựa trên Kafka)
- Xử lý tốc độ cao các sự kiện người dùng và hệ thống
- Hỗ trợ giao tiếp bất đồng bộ giữa các mô-đun trong hệ thống
- Cung cấp tính nhất quán dữ liệu và khả năng phát lại thông qua event sourcing
- Công cụ phân khúc thời gian thực
- Tận dụng khả năng truy vấn hiệu năng cao của ClickHouse
- Tạo segment động dựa trên thuộc tính và hành vi người dùng
- Có thể tính toán segment nhanh ngay cả ở quy mô lớn
- Điều phối hành trình
- Quản lý các hành trình người dùng phức tạp dựa trên Temporal
- Đảm bảo độ tin cậy của workflow, có thể phục hồi khi lỗi
- Hỗ trợ tạm dừng, tiếp tục và chỉnh sửa hành trình
- Quản lý thực thể
- Quản lý hồ sơ và thuộc tính người dùng
- Phát hành các sự kiện thay đổi thực thể
- Cung cấp dữ liệu người dùng hợp nhất trên toàn nền tảng
Luồng dữ liệu và tương tác
- Hành vi người dùng (ví dụ: xem trang, mua hàng) tạo ra sự kiện và được gửi tới Kafka
- Các sự kiện được lưu vào ClickHouse để hỗ trợ phân tích dữ liệu quy mô lớn
- Công cụ phân khúc cập nhật segment người dùng theo thời gian thực dựa trên các sự kiện và dữ liệu mới nhất
- Thay đổi phân khúc hoặc một sự kiện cụ thể sẽ kích hoạt điều phối hành trình
- Temporal quản lý hành trình và thực hiện các tác vụ như sau:
- Tra cứu dữ liệu người dùng và lịch sử sự kiện
- Kiểm tra trạng thái phân khúc hiện tại
- Kích hoạt hành động bên ngoài (ví dụ: gửi email, thông báo đẩy)
- Khi có tác vụ chính hoặc thay đổi trạng thái, tạo sự kiện mới và gửi lại vào hệ thống
2 bình luận
Kafka có phù hợp với các sự kiện khối lượng lớn như thế này không?
Vì cần xử lý bất đồng bộ nên chẳng phải sẽ phù hợp sao?