Jaehyeon Kim
Jaehyeon Kim

  • Blog
    • Categories

      List of categories.

    • Tags

      List of tags.

    • Series

      List of series.

    • Archives

  • Projects
  • Slides

/

  • Github Linkedin RSS

  • Font Size
  • Palette
  • Mode
  1. Home
  2. Tags
  3. Benchtop

Keeping Game Leaderboards Up to Date in Real Time with Kafka and Flink SQL

Keeping Game Leaderboards Up to Date in Real Time with Kafka and Flink SQL
October 2, 202615 min read Data-Engineering Open SourceApache FlinkApache KafkaBenchtopDynamic-DesFlink SQLNiceGUIOdctlPostgreSQL

Keeping top 10 leaderboards up to date as game scores arrive: four Flink SQL jobs read the scores from Kafka and keep the rankings in PostgreSQL, and a web dashboard shows them as they change.

Read More: Keeping Game Leaderboards Up to Date in Real Time with Kafka and Flink SQL

Change Data Capture on a Simulated Online Shop with Debezium and Kafka Connect

Change Data Capture on a Simulated Online Shop with Debezium and Kafka Connect
October 1, 202614 min read Data-Engineering Open SourceApache KafkaBenchtopChange Data Capture (CDC)DebeziumDynamic-DesKafka ConnectOdctlPostgreSQLSeaweedFS

Capturing every insert and update in PostgreSQL without changing the application: Debezium streams the changes to Kafka, and an S3 sink connector saves them as files.

Read More: Change Data Capture on a Simulated Online Shop with Debezium and Kafka Connect

Data Streaming and Machine Learning Projects That Run on Your Laptop

Data Streaming and Machine Learning Projects That Run on Your Laptop
September 30, 20265 min read Data-Engineering Machine-Learning Open SourceApache FlinkApache KafkaBenchtopDynamic-DesMLOpsOdctl

Small data engineering, stream processing, machine learning and MLOps projects that run on a laptop from a fresh clone, each explaining the system it builds.

Read More: Data Streaming and Machine Learning Projects That Run on Your Laptop

Productionizing an Online Product Recommender using Event Driven Architecture

Productionizing an Online Product Recommender using Event Driven Architecture
February 23, 202610 min read Machine-Learning From Prototype to Production: Real-Time Product Recommendation With Contextual BanditsApache FlinkApache KafkaBenchtopContextual BanditsOnline Machine LearningOpen Data StackPythonRecommender SystemValkey

Apache Flink, Kafka and Valkey turn a contextual bandit recommender into an event driven service with stateful training and low latency inference.

Read More: Productionizing an Online Product Recommender using Event Driven Architecture

Prototyping an Online Product Recommender in Python

Prototyping an Online Product Recommender in Python
January 27, 202618 min read Machine-Learning From Prototype to Production: Real-Time Product Recommendation With Contextual BanditsBenchtopContextual BanditsMab2RecMABWiserOnline Machine LearningPythonRecommender SystemReinforcement Learning

A Python prototype of a contextual multi-armed bandit recommender that simulates user behaviour and validates the algorithm against cold-start users.

Read More: Prototyping an Online Product Recommender in Python

Flink Table API - Declarative Analytics for Supplier Stats in Real Time

Flink Table API - Declarative Analytics for Supplier Stats in Real Time
June 17, 202520 min read Data-Streaming Getting Started With Real-Time Streaming in KotlinApache FlinkApache KafkaBenchtopDockerKafka StreamsKafka-UiKotlinOdctl

Flink Table API in Kotlin states the supplier statistics as a declarative windowed aggregation over a DataStream, with late rows routed by hand.

Read More: Flink Table API - Declarative Analytics for Supplier Stats in Real Time

Flink DataStream API - Scalable Event Processing for Supplier Stats

Flink DataStream API - Scalable Event Processing for Supplier Stats
June 10, 202517 min read Data-Streaming Getting Started With Real-Time Streaming in KotlinApache FlinkApache KafkaBenchtopDockerKafka StreamsKafka-UiKotlinOdctl

Flink DataStream API in Kotlin computes the same supplier statistics, using watermarks for event time and side outputs to collect late order events.

Read More: Flink DataStream API - Scalable Event Processing for Supplier Stats

Kafka Streams - Lightweight Real-Time Processing for Supplier Stats

Kafka Streams - Lightweight Real-Time Processing for Supplier Stats
June 3, 202519 min read Data-Streaming Getting Started With Real-Time Streaming in KotlinApache KafkaBenchtopDockerKafka StreamsKafka-UiKotlinOdctl

Kafka Streams in Kotlin aggregates Avro order events into tumbling window supplier statistics and handles late records with a custom extractor.

Read More: Kafka Streams - Lightweight Real-Time Processing for Supplier Stats

Kafka Clients with Avro - Schema Registry and Order Events

Kafka Clients with Avro - Schema Registry and Order Events
May 27, 202514 min read Data-Streaming Getting Started With Real-Time Streaming in KotlinApache KafkaBenchtopDockerKafka-UiKotlinOdctl

Avro and Schema Registry replace hand written JSON codecs in a Kotlin Kafka producer and consumer, with generated classes and graceful shutdown.

Read More: Kafka Clients with Avro - Schema Registry and Order Events

Kafka Clients with JSON - Producing and Consuming Order Events

Kafka Clients with JSON - Producing and Consuming Order Events
May 20, 202514 min read Data-Streaming Getting Started With Real-Time Streaming in KotlinApache KafkaBenchtopDockerKafka-UiKotlinOdctl

A Kotlin Kafka producer and consumer for order events, with custom JSON serialisers, admin helpers and a Gradle build, run on odctl.

Read More: Kafka Clients with JSON - Producing and Consuming Order Events
  • ««
  • «
  • 1
  • 2
  • »
  • »»
Profile
Jaehyeon Kim
Jaehyeon Kim
Data Engineer | Data Streaming | Powering ML & AI in Real Time
Taxonomies
Data Streaming 70 Data Engineering 42 Development 28 Data Analysis 17 Data Integration 12 Open Source 12 Machine Learning 7 Kubernetes 6 Security 5 Data Architecture 3 Data Processing 3 Big Data 2 System Architecture 2 Web Development 2
Python 76 Apache Kafka 72 AWS 50 Docker 50 Apache Flink 38 Apache Beam 17 Apache Spark 16 Kafka Connect 16 Amazon MSK 14 AWS Lambda 14 Benchtop 13 dbt 13 Amazon EMR 11 dynamic-des 11 odctl 11 PostgreSQL 10 Kubernetes 8 PyFlink 8 Change Data Capture (CDC) 7 Debezium 7 Kotlin 7 Apache Airflow 6 Apache Iceberg 6 Discrete Event Simulation 6 Kafka UI 6 Amazon DynamoDB 5 PySpark 5 SimPy 5 Amazon API Gateway 4 Amazon Athena 4 AWS Glue 4 AWS Glue Schema Registry 4 BigQuery 4 Digital Twin 4 FastAPI 4 Minikube 4 Amazon EKS 3 Amazon QuickSight 3 Amazon S3 3 Apache Hudi 3 ALL 143
Kafka Development with Docker 11 Apache Beam Python Examples 10 Real Time Streaming with Kafka and Flink 7 Building Real-Time Digital Twins with dynamic-des 6 dbt Pizza Shop Demo 6 Apache Beam Local Development with Python 5 dbt for Effective Data Transformation on AWS 5 Getting Started with Real-Time Streaming in Kotlin 5 Kafka Connect for AWS Services Integration 5 Serverless Data Product 4 Data Lake Demo Using Change Data Capture 3 Getting Started with PyFlink on AWS 3 Kafka Development on Kubernetes 3 Parallel processing on single machine 3 Realtime Dashboard with FastAPI, Streamlit and Next.js 3 API development with R 2 dbt Guide for Production 2 Deploy Python Stream Processing App on Kubernetes 2 Download Stock Data 2 From Prototype to Production: Real-Time Product Recommendation with Contextual Bandits 2 ALL 25
2026 16 2025 13 2024 29 2023 39 2022 15 2021 7 2020 1 2019 5 2018 2 2017 6 2016 6 2015 15 2014 5
Posts
  • Defining Data-Streaming Simulations in YAML, Without Writing Python
    Defining Data-Streaming Simulations in YAML, Without Writing Python
    October 6, 2026
  • Keeping Game Leaderboards Up to Date in Real Time with Kafka and Flink SQL
    Keeping Game Leaderboards Up to Date in Real Time with Kafka and Flink SQL
    October 2, 2026
  • Change Data Capture on a Simulated Online Shop with Debezium and Kafka Connect
    Change Data Capture on a Simulated Online Shop with Debezium and Kafka Connect
    October 1, 2026
  • Building an Agentic Analytics System over an Iceberg Lakehouse
    Building an Agentic Analytics System over an Iceberg Lakehouse
    July 18, 2026
  • Current London 2026: Building End-to-End Data Lineage
    Current London 2026: Building End-to-End Data Lineage
    May 22, 2026
  • Building a Real-Time Industrial Digital Twin with Apache Flink and Online Machine Learning
    Building a Real-Time Industrial Digital Twin with Apache Flink and Online Machine Learning
    April 21, 2026
  • Productionizing an Online Product Recommender using Event Driven Architecture
    Productionizing an Online Product Recommender using Event Driven Architecture
    February 23, 2026
  • Stream Processing with Flink in Kotlin
    Stream Processing with Flink in Kotlin
    December 10, 2025
  • Guide to Building Integrated Web Applications with FastAPI and NiceGUI
    Guide to Building Integrated Web Applications with FastAPI and NiceGUI
    November 19, 2025
  • Self-service Data Platform via a Multi-tenant SQL Gateway
    Self-service Data Platform via a Multi-tenant SQL Gateway
    July 17, 2025
  • Defining Data-Streaming Simulations in YAML, Without Writing Python
    Defining Data-Streaming Simulations in YAML, Without Writing Python
    October 6, 2026
  • Keeping Game Leaderboards Up to Date in Real Time with Kafka and Flink SQL
    Keeping Game Leaderboards Up to Date in Real Time with Kafka and Flink SQL
    October 2, 2026
  • Change Data Capture on a Simulated Online Shop with Debezium and Kafka Connect
    Change Data Capture on a Simulated Online Shop with Debezium and Kafka Connect
    October 1, 2026
  • Data Streaming and Machine Learning Projects That Run on Your Laptop
    Data Streaming and Machine Learning Projects That Run on Your Laptop
    September 30, 2026
  • Learning MLOps with a Feature Store: A New Series
    Learning MLOps with a Feature Store: A New Series
    September 28, 2026
  • Building an Agentic Analytics System over an Iceberg Lakehouse
    Building an Agentic Analytics System over an Iceberg Lakehouse
    July 18, 2026
  • Dynamic DES: A Declarative API with Postgres and Redis Connectors
    Dynamic DES: A Declarative API with Postgres and Redis Connectors
    July 17, 2026
  • Running Kafka, Flink, Spark, Trino and Iceberg Locally with One CLI
    Running Kafka, Flink, Spark, Trino and Iceberg Locally with One CLI
    July 16, 2026
  • One Simulation, Two Pipelines: Batch Training and Live Inference with Dynamic DES
    One Simulation, Two Pipelines: Batch Training and Live Inference with Dynamic DES
    May 25, 2026
  • Current London 2026: Building End-to-End Data Lineage
    Current London 2026: Building End-to-End Data Lineage
    May 22, 2026
Actions
Go back Reload Copy URL

Jaehyeon Kim

Data Engineer | Data Streaming | Powering ML & AI in Real Time

Copyright © 2023-2026 Jaehyeon Kim. All Rights Reserved.