Company
Date Published
Author
Matt Mangia, Gil Friedlis, Eugen Feller
Word count
3877
Language
English
Hacker News points
None

Summary

Zenreach's journey to implement a real-time customer presence detection platform evolved from initial Python scripts to a monolithic Spark Streaming application, and eventually to a robust, cost-efficient system using Kafka Streams, deployed in containers on AWS ECS. This transition was driven by the need to handle increased data throughput as the company scaled, necessitating a move away from infrastructure-heavy solutions like EMR. Kafka Streams allowed Zenreach to simplify its streaming infrastructure, enhance developer productivity, and improve fault tolerance and observability while maintaining significant cost savings. The platform, designed to detect customer walk-ins through Wi-Fi data, enriches this information with CRM data and keeps track of customer visits, enabling features like marketing email distribution and real-time customer tracking on mobile applications. The implementation also involved overcoming challenges related to state management, data backfilling, and service stability, with strategies like using EBS volumes for persistent storage and tuning Kafka consumer parameters to minimize downtime and rebalancing during deployments. The company plans to continue leveraging Kafka technology to make more components of its product event-driven while acknowledging the support from the Kafka community in navigating these technical challenges.