- Platform keterlibatan pelanggan open source berbasis AI yang membantu merancang perjalanan pengguna yang dipersonalisasi dalam skala besar dengan memanfaatkan data
- Alternatif open source untuk Customer.io
- Masalah pada alat yang ada: biaya tinggi, serta kesulitan karena harus mengganti seluruh stack komunikasi yang sudah ada
- LimeJourney dirancang dengan berfokus pada dua prinsip berikut:
- Aksesibilitas open source: dapat digunakan gratis oleh developer dan tim kecil. Jika lebih memilih solusi terkelola, tersedia juga versi cloud
- Dukungan integrasi yang sudah ada (BYOI): mendukung integrasi dengan alat yang sudah ada, sehingga tidak perlu mengganti seluruh stack
Fitur utama
- Insight berbasis AI: membantu memahami pelanggan menggunakan model AI
- Visual journey builder: memungkinkan pembuatan perjalanan pengguna yang kompleks melalui antarmuka drag-and-drop yang intuitif
- Segmentasi dinamis: memungkinkan pembuatan segmen berdasarkan event atau atribut pengguna
- Contoh: "pengguna yang tidak melakukan pembelian dalam 30 hari terakhir"
- Fitur integrasi: dapat terhubung dengan alat dan layanan yang sudah ada, serta terus menambahkan integrasi terkait pengumpulan data
Tech stack LimeJourney
- Aplikasi full-stack monorepo (ditulis dengan TypeScript)
- Teknologi utama:
- Turbo: pengelolaan monorepo
- Next.js: pengembangan aplikasi web
- TailwindCSS: styling
- Express: pengembangan API
- TSOA: pembuatan route API dan dokumentasi OpenAPI
- PostgreSQL: penyimpanan data utama
- Redis: penyimpanan KV untuk pengelolaan pemetaan Journey-Trigger
- ClickHouse: pengelolaan data event/entitas skala besar dan segmentasi real-time
- Temporal: menjalankan journey yang dibuat di visual journey builder
- Kafka: event bus terpusat (di-host di Upstash)
Arsitektur backend
Komponen inti
- Backbone event streaming (berbasis Kafka)
- Pemrosesan cepat untuk event pengguna dan sistem
- Mendukung komunikasi asinkron antar modul di dalam sistem
- Menyediakan konsistensi data dan kemampuan replay melalui event sourcing
- Mesin segmentasi real-time
- Memanfaatkan kemampuan query berperforma tinggi dari ClickHouse
- Membuat segmen dinamis berdasarkan atribut dan perilaku pengguna
- Mampu menghitung segmen dengan cepat bahkan dalam skala besar
- Orkestrasi journey
- Mengelola perjalanan pengguna yang kompleks berbasis Temporal
- Menjamin keandalan workflow dan dapat dipulihkan saat terjadi kegagalan
- Mendukung jeda, lanjut, dan modifikasi journey
- Manajemen entitas
- Mengelola profil dan atribut pengguna
- Menerbitkan event perubahan entitas
- Menyediakan data pengguna terpadu di seluruh platform
Alur data dan interaksi
- Tindakan pengguna (misalnya page view, pembelian) menghasilkan event yang dikirim ke Kafka
- Event disimpan di ClickHouse untuk mendukung analisis data skala besar
- Mesin segmentasi memperbarui segmen pengguna secara real-time berdasarkan event dan data terbaru
- Perubahan segmentasi atau event tertentu memicu orkestrasi journey
- Temporal mengelola journey dan melakukan tugas seperti berikut:
- Mengambil data pengguna dan riwayat event
- Memeriksa status segmentasi saat ini
- Memicu tindakan eksternal (misalnya mengirim email, push notification)
- Saat terjadi tugas penting atau perubahan status, event baru dibuat dan dikirim kembali ke sistem
2 komentar
Apakah kafka cocok untuk event bervolume besar seperti ini?
Karena digunakan untuk pemrosesan asinkron, bukankah ini cocok?