11 poin oleh xguru 2024-12-07 | 2 komentar | Bagikan ke WhatsApp
  • 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

  1. Tindakan pengguna (misalnya page view, pembelian) menghasilkan event yang dikirim ke Kafka
  2. Event disimpan di ClickHouse untuk mendukung analisis data skala besar
  3. Mesin segmentasi memperbarui segmen pengguna secara real-time berdasarkan event dan data terbaru
  4. Perubahan segmentasi atau event tertentu memicu orkestrasi journey
  5. 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)
  1. Saat terjadi tugas penting atau perubahan status, event baru dibuat dan dikirim kembali ke sistem

2 komentar

 
kandk 2024-12-09

Apakah kafka cocok untuk event bervolume besar seperti ini?

 
yangeok 2024-12-16

Karena digunakan untuk pemrosesan asinkron, bukankah ini cocok?