- Eine KI-basierte Open-Source-Plattform für Customer Engagement, die dabei unterstützt, mithilfe von Daten personalisierte User Journeys in großem Maßstab zu entwerfen
- Open-Source-Alternative zu Customer.io
- Probleme bestehender Tools: hohe Kosten und die Schwierigkeit, den gesamten bestehenden Kommunikations-Stack austauschen zu müssen
- LimeJourney wurde nach den folgenden zwei Prinzipien entwickelt:
- Open-Source-Zugänglichkeit: Für Entwickler und kleine Teams kostenlos nutzbar. Für alle, die eine Managed-Lösung bevorzugen, wird auch eine Cloud-Version angeboten
- Unterstützung bestehender Integrationen (BYOI): Integration mit vorhandenen Tools wird unterstützt, ein Austausch des gesamten Stacks ist nicht erforderlich
Hauptfunktionen
- KI-basierte Einblicke: Unterstützt das Verständnis von Kunden mithilfe von KI-Modellen
- Visueller Journey Builder: Komplexe User Journeys lassen sich über eine intuitive Drag-and-Drop-Oberfläche erstellen
- Dynamische Segmentierung: Segmente können auf Basis von User Events oder Eigenschaften erstellt werden
- Beispiel: "Nutzer, die in den letzten 30 Tagen keinen Kauf getätigt haben"
- Integrationen: Kann mit bestehenden Tools und Services verbunden werden; Integrationen für die Datenerfassung werden laufend ergänzt
Tech-Stack von LimeJourney
- Full-Stack-Monorepo-Anwendung (geschrieben in TypeScript)
- Zentrale Technologien:
- Turbo: Monorepo-Verwaltung
- Next.js: Entwicklung der Web-App
- TailwindCSS: Styling
- Express: API-Entwicklung
- TSOA: Generierung von API-Routen und OpenAPI-Dokumentation
- PostgreSQL: primärer Datenspeicher
- Redis: KV-Store zur Verwaltung des Journey-Trigger-Mappings
- ClickHouse: Verwaltung großer Mengen an Event-/Entity-Daten und Echtzeit-Segmentierung
- Temporal: Ausführung der im visuellen Journey Builder erstellten Journeys
- Kafka: zentraler Event-Bus (gehostet bei Upstash)
Backend-Architektur
Kernkomponenten
- Event-Streaming-Backbone (auf Kafka-Basis)
- Hochgeschwindigkeitsverarbeitung von User- und System-Events
- Unterstützt asynchrone Kommunikation zwischen Modulen innerhalb des Systems
- Sorgt durch Event Sourcing für Datenkonsistenz und Wiederabspielbarkeit
- Echtzeit-Segmentierungs-Engine
- Nutzt die High-Performance-Query-Funktionen von ClickHouse
- Erstellt dynamische Segmente auf Basis von User-Eigenschaften und -Verhalten
- Schnelle Segmentberechnung auch in großem Maßstab
- Journey-Orchestrierung
- Verwaltet komplexe User Journeys auf Basis von Temporal
- Gewährleistet Workflow-Zuverlässigkeit und Wiederherstellung bei Ausfällen
- Unterstützt das Pausieren, Fortsetzen und Ändern von Journeys
- Entity-Management
- Verwaltung von User-Profilen und -Eigenschaften
- Veröffentlicht Änderungs-Events für Entities
- Stellt plattformweit konsolidierte User-Daten bereit
Datenfluss und Interaktionen
- User-Aktionen (z. B. Seitenaufrufe, Käufe) erzeugen Events, die an Kafka übermittelt werden
- Die Events werden in ClickHouse gespeichert, um Analysen großer Datenmengen zu unterstützen
- Die Segmentierungs-Engine aktualisiert auf Basis aktueller Events und Daten User-Segmente in Echtzeit
- Segmentierungsänderungen oder bestimmte Events lösen die Journey-Orchestrierung aus
- Temporal verwaltet die Journeys und führt dabei die folgenden Aufgaben aus:
- Abruf von User-Daten und Event-Historie
- Prüfung des aktuellen Segmentierungsstatus
- Auslösen externer Aktionen (z. B. Versand von E-Mails, Push-Benachrichtigungen)
- Bei wichtigen Aktionen oder Statusänderungen werden neue Events erzeugt und wieder ins System eingespeist
2 Kommentare
Ist Kafka für solch große Event-Mengen geeignet?
Man nutzt es ja, weil asynchrone Verarbeitung nötig ist, daher wäre es nicht passend?