Event-Driven Analytics: Building Real-Time Dashboards with Apache Flink and Ktor

A presentation at KotlinConf 2025 in in Copenhagen, Denmark by Viktor Gamov

The ability to process continuous data streams and deliver real-time insights has become crucial in modern application architectures. As a developer you are probably very comfortable with RESTful services, and shifting to event-driven thinking opens new possibilities for responsiveness and scalability (as well as new challenges and growing paints).

This talk will explore building real-time analytics dashboards by combining Apache Flink’s powerful stream processing capabilities with Ktor’s flexible web framework. We’ll journey through the mental model transformation from request/response patterns to continuous event flows, demonstrating how this shift enables truly reactive applications.

You’ll learn:

How Apache Flink handles stateful stream processing, offering advantages for complex analytics use cases Leveraging Flink’s Table API and SQL capabilities to express complex transformations with familiar syntax Implementing real-time dashboards with Ktor and other Kotlin libraries By the end of this session, you’ll understand how to bridge the gap between powerful backend stream processing and engaging user interfaces, all while staying in the Kotlin ecosystem. Regardless, if you’re a seasoned data streaming engineer or just beginning to explore beyond REST, you’ll bring home practical techniques for delivering real-time insights to your users.

Video

Code

The following code examples from the presentation can be tried out live.