About the service
I'm a data engineer who lives inside event streams, and Apache Kafka is the foundation of nearly everything I build. When your services need to talk without waiting, when analytics must react in seconds not nightly batches, or when you simply cannot afford to lose a single message — these are exactly the problems I take on. I've guided Kafka clusters from first prototype to battle traffic of millions of events per hour and I know where the sharp edges hide.
My work starts with the data itself. I model the domain as events, decide what belongs in a topic and what doesn't, and pick a partitioning key to preserve ordering guarantees while distributing load evenly across brokers. Then I build the stream itself: producers tuned for throughput or reliability, consumer groups sized for load, and stream processing jobs in Kafka Streams or Flink that join, aggregate and enrich data on the fly. I take exactly-once semantics seriously: idempotent producers and transactional writes so retries never become duplicates downstream.
Beyond the happy path I worry about what keeps me up at night. I raise a schema registry so producers and consumers evolve without breaking each other, build Kafka Connect pipelines to pump data into databases and object stores and back, and set up dead-letter queues, monitoring and consumer lag alerts before anything hits production. Whether you're starting from scratch or rescuing a fragile pipeline losing messages — I'll help build something you can actually trust.
— Kafka cluster design, topic strategy and partitions, retention tuning
— Producers and consumer groups, offset management, rebalancing
— Stream processing with Kafka Streams and Apache Flink
— Exactly-once semantics, idempotent and transactional writes
— Kafka Connect, schema registry, Avro and Protobuf
— Monitoring, consumer lag alerts and dead-letter handling
My work starts with the data itself. I model the domain as events, decide what belongs in a topic and what doesn't, and pick a partitioning key to preserve ordering guarantees while distributing load evenly across brokers. Then I build the stream itself: producers tuned for throughput or reliability, consumer groups sized for load, and stream processing jobs in Kafka Streams or Flink that join, aggregate and enrich data on the fly. I take exactly-once semantics seriously: idempotent producers and transactional writes so retries never become duplicates downstream.
Beyond the happy path I worry about what keeps me up at night. I raise a schema registry so producers and consumers evolve without breaking each other, build Kafka Connect pipelines to pump data into databases and object stores and back, and set up dead-letter queues, monitoring and consumer lag alerts before anything hits production. Whether you're starting from scratch or rescuing a fragile pipeline losing messages — I'll help build something you can actually trust.
— Kafka cluster design, topic strategy and partitions, retention tuning
— Producers and consumer groups, offset management, rebalancing
— Stream processing with Kafka Streams and Apache Flink
— Exactly-once semantics, idempotent and transactional writes
— Kafka Connect, schema registry, Avro and Protobuf
— Monitoring, consumer lag alerts and dead-letter handling