KotlinConf 2026 — program

Hentet fra kotlinconf.com/schedule 1. september 2026. Alle foredrag holdes på engelsk. ✅ = deltatt · 👀 = vil se opptak. Tittelen lenker til den offisielle foredragssiden; «om foredraget» utvider den offisielle beskrivelsen.

Hopp til: Dag 1 · Dag 2

Dag 1 — torsdag 21. mai 2026

Tidspunkter: 09:00 · 10:15 · 11:15 · 13:00 · 14:00 · 15:15 · 16:15 · 17:15

09:00

ForedragTaler(e)Notater
Opening Keynote
om foredraget

09:00 – 10:00 · Keynote, Room 14 · Tags: Keynote · Kotlin 2.4 · AI-agenter · KMP · Compose · Tooling · Koog · ACP · Kotlin Toolchain

Sebastian Aigner, Michail Zarečenskij, Vsevolod Tolstopyatov, Svetlana Isakova, Jeffrey van Gogh, Márton Braun, Chantal Loncle, Josh Long, Christian Ryan, Vadim BriliantovÅpningskeynoten samlet ti talere fra JetBrains, Google og Anthropic for å tegne opp Kotlins retning på tvers av språk, verktøy, AI og multiplattform … 📝 notater

10:15

ForedragTaler(e)Notater
👀 Tiny Models, Big Impact: On-Device AI for Real Apps
om foredraget

AI features in mobile apps usually depend on cloud APIs, expensive to run, slow under poor connectivity, and limited by privacy concerns. But recent advances in model compression and mobile inference make it possible to run meaningful AI tasks directly on-device. This talk demystifies on-device AI for Kotlin developers. We cover different models, quantization strategies, and Kotlin-friendly inference pipelines using coroutines. You’ll learn how to build features like summarization, classification, personalization, and intent extraction without needing a server.

10:15 – 10:30 · Room 5 (lyntaler) · Tags: AI · LLM · On-device · Llama Stack · Android

Hammad AkramHammad Akram viste hvordan små språkmodeller (SLM-er) kan kjøre direkte på Android-enheter via Llama Stack Kotlin SDK-en, som pakker inn ExecuTorch … 📝 notater
Keeping Tabs on Your Data: AndroidX Storage for the Web
om foredraget

Join the AndroidX Team as they talk about the two Kotlin Multiplatform storage libraries - Room and DataStore - and their support for the Web platform! In this talk, the team will introduce the API changes that made it possible to support Web for these libraries, as well as demonstrate how you can take an existing project that uses Room or DataStore and have it work on the Web. They will also go over some of the challenges and complexities that were encountered to support WASM/JS and the technologies used such as Origin Private File System (OPFS) and Web Workers.

10:15 – 11:00 · Auditorium, Room 1

Daniel Santiago Rivera, Elif Bilgin Morris
Bootiful Kotlin
om foredraget

Spring Boot marries Spring's flexibility with conventional, common sense defaults to make application development on the JVM not just fly, but pleasant! The framework is as clean as it gets, wouldn't it be nice if the language with which you wielded it matched its elegance? Kotlin, the productivity-focused language from our friends at JetBrains, takes up the productivity slack to make the experience leaner, cleaner and even more pleasant. The Spring and Kotlin teams have worked hard to make sure that Kotlin and Spring Boot are a first-class experience for all developers trying to get to production, faster and safer. Come for the Spring and stay for the Bootiful Kotlin.

10:15 – 11:00 · Keynote, Room 14 · Tags: Spring Boot · Live coding · AI · Backend

Josh LongJosh Long leverte en klassisk live-kodet gjennomgang der han bygde en Spring Boot 4-applikasjon i Kotlin fra bunnen av og viste hvor tett rammeverket … 📝 notater
👀 A tale of the Gradle DSLs
om foredraget

Part of Gradle’s mission is to provide an elegant and extensible declarative build language that enables expressing any build in a clear and understandable way. Gradle started with a dynamic Groovy DSL, then introduced a static Kotlin DSL, and is now moving towards a purely declarative configuration language inspired by Kotlin. We’ll discuss the evolution of Gradle DSLs and highlight the lessons learned and the tangible benefits enabled by each step of the journey. In this talk, we will discuss the trade-offs between flexibility and other factors such as maintainability, user experience, and IDE support. We’ll explore the distinction between software definition and build logic and how …

10:15 – 11:00 · Room 13a · Tags: Gradle · Kotlin DSL · Build tools · Historikk

Paul MerlinPaul Merlin tar oss gjennom historikken til Gradle sine build-språk, fra den dynamiske Groovy-DSL-en som ga stor fleksibilitet, men svakt IDE-vern … 📝 notater
All platforms are unique but some platforms are more unique than others
om foredraget

Compose Multiplatform supports all modern platforms for writing applications. To achieve this, we at JetBrains devote a lot of time and attention to deep integration with each platform. Every platform has its own unique challenges. In this talk, I want to focus on how I supported several features on the web target. What problems and peculiarities I encountered, and how I solved them. How the same problems were solved in other frameworks. And why there is not just one web target, but not even three, but six, if not more!

10:15 – 11:00 · Room 13b

Konstantin Tskhovrebov
👀 Run, Kotlin, Run!
om foredraget

JVM, native, JS, WebAssembly - it's hard to keep track on the many ways where we can run Kotlin these days. So here's a challenge: find as many ways to run Kotlin in a lightning talk as we can! The more exotic, the better!

10:45 – 11:00 · Room 5 (lyntaler) · Tags: Lyntale · JVM · Kotlin/Native · Kotlin/Wasm · KMP

Marc ReicheltI denne lyntalen tar Marc Reichelt utfordringen med å kjøre den samme lille `isPrime`-funksjonen fra et Kotlin Multiplatform-prosjekt på så mange – … 📝 notater

11:15

ForedragTaler(e)Notater
Breaking Frozen Frames: Phased Rendering for Feature Rich UIs
om foredraget

Feature rich Compose screens often produce frozen frames—any frame over 700 ms—when multiple heavy UI sections are composed in a single pass. Users are forced to wait for the entire screen to finish composing before seeing anything meaningful, creating slow and unresponsive first-load moments. This talk presents Phased Compose, a phased rendering technique that splits a large composition into deterministic steps. Instead of generating one long frozen frame, each major section renders in its own phase, allowing meaningful content to appear immediately while remaining parts compose progressively. This approach reduced frozen frames by over 30% on complex screens—without delays, timers, or …

11:15 – 11:30 · Room 5 (lyntaler)

Sinan Kozak
👀 Kotlin/Wasm: Finally, the missing piece for a full stack Kotlin webapp!
om foredraget

Building a full stack webapp entirely using Jetbrains frameworks and Kotlin has long been a dream of mine. If you’re like me (a longtime Android and backend developer), you want to write everything in Kotlin including the front end, but doing that has historically been the hardest, trickiest part. While there are some frameworks that can help bridge the gap, it’s always felt a little disjointed when integrating them with the rest of the stack. But no longer! With Kotlin/Wasm reaching Beta and having full support in modern browsers, we finally have the missing piece to do everything in our webapp using Kotlin and Jetbrains’ well-supported frameworks in a performant, pixel-perfect way. We’ll …

11:15 – 12:00 · Auditorium, Room 1 · Tags: Kotlin/Wasm · Full-stack · Compose · Ktor · Exposed

Dan KimDan Kim viser i praksis hvordan Kotlin/Wasm endelig lar deg bygge en komplett full-stack webapp i ett og samme språk, ved å demonstrere en … 📝 notater
Evolving Language Defaults
om foredraget

When designing a programming language, we decide what’s safe, what’s convenient, and what’s practical. These choices become our defaults, the way we believe most programs should be written in that language. However, defaults evolve over time. What once seemed like a good idea may later become a source of bugs and friction. In fact, wrong defaults are often one of the main reasons new programming languages emerge. In this session, we’ll explore how programming languages deal with their defaults. What tools do they have at their disposal, and what are the costs of changing defaults? We’ll look at how languages transition from mutability to immutability, adopt null-safety, and add deeper …

11:15 – 12:00 · Keynote, Room 14

Michail Zarečenskij
Metro Under the Hood
om foredraget

Metro is, first and foremost, a multiplatform dependency injection framework. It’s also an advanced and complex Kotlin compiler plugin. In this talk, we’ll go under the hood and learn how much of Metro’s magic works in the compiler and what kind of code it’s generating. This is an advanced talk and assumes familiarity with DI frameworks like Metro, Dagger, etc. You don’t need to be familiar with compiler plugins, but we will be getting into the nitty gritty so come ready to learn!

11:15 – 12:00 · Room 13a

Zac Sweers
Opinionated Ktor Services
om foredraget

Ktor is an unoppionionated framework with a plugin system, and coroutines based implementation. It can easily integrate with any existing framework or SDK. This allows you to freely architect your applications as desired, but might leave you with some questions about best practices, or trade-offs. In this talk I'll give an oppionated overview of building Ktor services. Discussing trade-offs between DI approaches, code organisation, integrating 3rd party SDKs, testing best practices, and automatically generating API documentation.

11:15 – 12:00 · Room 13b · Tags: Ktor · Backend · Arkitektur · Feilhåndtering · DDD

Simon VergauwenSimon Vergauwen tar utgangspunkt i at Ktor bevisst er et lite meningssterkt rammeverk – kjernen er coroutines, et plugin-system og modulfunksjoner – … 📝 notater
Bringing Native iOS Feel to Compose Multiplatform Apps
om foredraget

Ever built a Compose Multiplatform app and wished it looked at home on every platform? This lightning talk introduces Calf (Compose Adaptive Look & Feel) an open-source library that makes your Compose UI adapt to each platform’s native design. We’ll start with a typical Material3 styled Android app and ask: can it feel native on iOS without a complete rewrite? We’ll gradually replace Material components with Calf’s adaptive UI components (dialogs, bottom sheets, pickers, etc.). With just a few swaps, watch the app instantly adopt iOS’s familiar look while using the same codebase for both Android and iOS. You’ll see how Calf maps components to their native counterparts, Material on Android …

11:45 – 12:00 · Room 5 (lyntaler)

Mohamed Ben Rejeb

13:00

ForedragTaler(e)Notater
Kotlin Analysis API in Practice: Semantic Smarts for Code Migrations
om foredraget

Code migrations are tedious: you need to rewrite syntax while preserving behavior, and one wrong assumption can break downstream consumers. PSI helps locate and transform code, but it can't answer the semantic questions that determine whether a transformation is actually safe. Kotlin Analysis API fills that gap. We'll show how we leverage its semantic capabilities—types, symbols, call-site resolution, and diagnostics—to validate intent before we rewrite. This lets us tighten visibilities without breaking consumers, simplify nullability only when every code path stays safe, and confidently transform framework patterns. We'll walk through real examples showing how to query types, resolve …

13:00 – 13:15 · Room 5 (lyntaler)

Idan Nakav
How google.com/search builds on Kotlin coroutines for highly scalable, streaming, concurrent servers
om foredraget

Learn how google.com/search routes every search through server-side Kotlin to enable low-latency highly asynchronous/streaming codepaths. With the advent of AI, streaming is more important than ever. This talk will explore how Google Search adopted Kotlin on the server to enable streaming fast, safe and massively scalable results. Learn about a data-graph interface description language we call “Qflow” that connects asynchronous data definitions, where developers implement business logic in Kotlin. Follow as we explore how we’ve instrumented coroutines to collect latency signals and surface usable critical paths with slack/drag support, removed sharp edges of coroutines, surfaced streams as …

13:00 – 13:45 · Auditorium, Room 1 · Tags: Coroutines · Google · Qflow · Structured concurrency · Skala · Casestudie · Observability

Sam Berlin, Alessio Della MottaSam Berlin og Alessio Della Motta fra Google Search Infra viser hvordan google.com/search har bygget en tjener-stack på Kotlin coroutines for å drive … 📝 notater
What's New in Compose Multiplatform: Better Shared UI for iOS and Beyond
om foredraget

Compose Multiplatform lets you build beautiful UI with idiomatic Kotlin for Android, iOS, Desktop, and Web apps! It’s stable, production-ready, constantly evolving, and it already powers the experiences of millions of users every day. Its declarative nature also makes it a perfect fit for building cross-platform apps in the age of agentic development. As a framework that can be adopted incrementally rather than requiring a full rewrite, you can start using it risk-free even in existing apps. Your Android skills seamlessly transfer to other platforms, with tools like Navigation 3 already available for Compose Multiplatform. In this talk, we’ll take a hands-on look at everything that’s new …

13:00 – 13:45 · Keynote, Room 14

Sebastian Aigner, Márton Braun
👀 Real-World Data Science With Kotlin Notebook
om foredraget

Life can be messy, and so can your data set. As developers, we are spoilt for choice when it comes to tooling that makes data science a breeze. These days, we don't even need to install Python! The Kotlin ecosystem gives you everything you need to have you inspecting a data set within minutes. But how do you know that your conclusions are the right ones? You can have your computer spit out a nice pretty answer, but is it pretty and correct? How can you be sure? In this talk, I will use Kotlin tools to analyse a real-world dataset from the sport of powerlifting, taking you through the methods and pitfalls of data analysis. We will cover - Understanding your data set - Principles of data …

13:00 – 13:45 · Room 13a · Tags: Data Science · Kotlin Notebook · DataFrame · Kandy · Postgres

Adele CarpenterAdele Carpenter viser hvordan hun analyserer et powerlifting-datasett på over 3,3 millioner rader fra Open Powerlifting direkte i Kotlin Notebook … 📝 notater
Kotlin Performance Tracing on Android: From Coroutines to Reality
om foredraget

Kotlin’s coroutines and Flow APIs make asynchronous programming elegant — but when things get slow, they can also make performance opaque. What’s actually happening behind all those suspend functions and dispatchers? In this talk, we’ll explore what Kotlin’s concurrency features really look like under the microscope of Perfetto — Android’s modern performance tracing tool. You’ll see how coroutine scopes, dispatchers, and suspending functions appear on the system trace, and how to interpret their behavior in real-world applications. We’ll dive into how Kotlin constructs translate to threads, tasks, and context switches at runtime, revealing common bottlenecks like dispatcher overloads or …

13:00 – 13:45 · Room 13b

Akniyet Arysbayev
👀 SwiftPM support for Kotlin Multiplatform
om foredraget

This year, the Kotlin team is working on Swift Package Manager support in Kotlin Multiplatform. Learn how to use this new feature to import SwiftPM dependencies such as FirebaseFirestore, Sentry and Google Maps in your KMP code with ease! In this talk, we will go over the core features of SwiftPM import support in KMP: * Importing SwiftPM dependencies with Objective-C APIs in your Kotlin Multiplatform code * Configuring your Xcode project to make sure it works well with SwiftPM dependencies * Publishing KMP libraries with SwiftPM dependencies Finally, we will cover how SwiftPM dependencies work under the hood. You will learn how we: * Turn Swift and Objective-C source files into code …

13:30 – 13:45 · Room 5 (lyntaler) · Tags: Lyntale · KMP · iOS · SwiftPM · Kotlin/Native · Tooling

Timofey SoloninTimofey Solonin viste i denne lyntalen hvordan Kotlin Multiplatform nå kan konsumere SwiftPM-avhengigheter direkte fra Gradle via en ny … 📝 notater

14:00

ForedragTaler(e)Notater
👀 Codex for Kotlin Engineers
om foredraget

14:00 – 14:15 · Room 5 (lyntaler) · Tags: AI · Codex · Workflow · AI-assistert utvikling

Benedict KerresKort sesjon om hvordan OpenAI Codex passer godt sammen med Kotlin sitt strenge typesystem, tydelige domenemodeller og testbare struktur når man … 📝 notater
Concurrency Patterns for Modern High Performance Kotlin Servers
om foredraget

Kotlin coroutines give us powerful tools for asynchronous server programming, but using them well requires more than knowing launch, async, or Flow in isolation. High-performance servers are built from recurring concurrency patterns: small, composable ways to structure work, stream results, isolate slow dependencies, and control producer-consumer boundaries. In this session, we will explore several useful concurrency patterns by building a simplified AI assistant server live. We will break complex server behavior into distinct concurrency challenges and show how Kotlin’s async primitives provide elegant, structured answers: generator-style flows for more responsive event streams, fan-in for …

14:00 – 14:45 · Auditorium, Room 1

Bowen Feng
Local Lifetimes for Kotlin
om foredraget

Many objects are meant to be used only "locally", in the sense that they should not escape from the current function into the "global" world. For example, buildList is given a function that is meant to be used solely by buildList, and buildList calls that function with a MutableList that is meant to be used only by that function. Kotlin's experimental CallsInPlace contract can enforce the former, but currently there is nothing for the latter. In this talk, I will present a preliminary design we have developed for adding enforceable "locality" to Kotlin as a lightweight form of limited-lifetime objects. With it, library designers can let users write blocks that are guaranteed to have only …

14:00 – 14:45 · Keynote, Room 14 · Tags: Språkdesign · Type system · Forslag · Escape analysis · Effects · Compiler

Ross TateRoss Tate presenterte et forslag om «local lifetimes» i Kotlin — et typesystem-tillegg der et nytt `local`-nøkkelord på parametere (og `local … 📝 notater
RemoteCompose: Building for remote surfaces with Compose
om foredraget

An introduction to RemoteCompose. Focusing on the Compose & Kotlin frontend for the RemoteCompose technology. A guided walk through State, Expressions, Actions and Components. Building up to examples of typical use cases and how to implement amazing UIs reaching to different remote surfaces. And the many possible meanings of Remote on Android platforms and otherwise.

14:00 – 14:45 · Room 13a

Yuri Schimke
Kotlin/JS: Past, Present and Future
om foredraget

In this talk, as the team lead and product owner of the JS target, I will share the past vision of Kotlin/JS as a competitor to TypeScript, and the new one as a great addition to KMP projects with native UI. I will describe to you my team and the major projects we are currently working on, which the community has been inquiring about extensively: an unlimited JsExport (codename, project "All Might") and modern JS support (codename, project "Luffy") that should be available on some stages in the fall of 2026. I will also share my mid-term vision for the compilation target and our next big focuses. It will be a deep dive and extension for this blog post …

14:00 – 14:45 · Room 13b

Artem Kobzar
👀 Building AI-Powered Web Apps in Kotlin/Wasm
om foredraget

14:30 – 14:45 · Room 5 (lyntaler) · Tags: Kotlin/Wasm · AI · Web · On-device

Zalim BashorovBashorov ser på de nye, native AI-API-ene som moderne nettlesere er i ferd med å standardisere, og hvordan man kan bygge fullt klientside-baserte … 📝 notater

15:15

ForedragTaler(e)Notater
👀 Compose beyond UI : Display and Print!
om foredraget

Compose is a way to display pixels on screen and animate them. What if what we've come to master could be used anywhere you need to visually organize content? We could create animated presentations & slides, looping displays, social media post images, or even board game card images & PDFs! Using all the tooling Compose has to offer, let us break our creativity free from the small screens.

15:15 – 15:30 · Room 5 (lyntaler) · Tags: Lyntale · Compose Multiplatform · Kreativt · PDF · Print

Salomon BrysSalomon Brys strukturerte lyntalen rundt to konkrete sideprosjekter som viser at Compose kan brukes langt utover vanlige app-grensesnitt … 📝 notater
Peeling back the Layers: A Navigation3 Deep Dive
om foredraget

Join us as we explore the Navigation3 API surface and peel back the layers of the library via the various NavDisplay overloads. We will provide insight into the decision behind each overload, how you would use each of them, and the helper APIs that assist you in building your custom logic. This will show you how to fully take advantage of the different building blocks that Navigation3 provides.

15:15 – 16:00 · Auditorium, Room 1

Marcello Galhardo, Ian Lake
Why Most AI Agents Never Scale? Building Enterprise-Ready AI with Koog
om foredraget

AI agents are everywhere — but most of them break the moment you try to use them for anything real. Token costs explode, behavior becomes unpredictable, and primitive “LLM + loop” architectures simply don’t scale beyond flashy demos. At JetBrains, we’ve been building agents that power real products used by millions. Koog is the open-source Kotlin and JVM framework that came out of this experience and was released at the KotlinConf 2025 exactly 1 year ago. In this talk, we’ll introduce Koog 1.0.0-RC and show how its design makes AI agents scalable, predictable, and ready for production. Koog gives Kotlin and Java teams a complete toolset for building agents as well-structured, type-safe …

15:15 – 16:00 · Keynote, Room 14 · Tags: Koog · AI-agenter · Enterprise · Observability · LLM

Vadim BriliantovVadim Briliantov peker på hvorfor de fleste AI-agenter aldri når produksjon: de mangler feiltoleranse når LLM-kall svikter, de mister tilstand under … 📝 notater
👀 Expedited Shipping: Accelerating iOS Development with KMP at Amazon
om foredraget

This talk covers developing with Kotlin Multiplatform and iOS at scale using App Platform, an open-source lightweight application framework for state and memory management. Amazon Delivery ships a variety of applications spanning multiple device types and platforms that help facilitate the delivery process of millions of packages every day. These applications often talk to each other and share similar features in different form factors. We want to ship fast while maintaining feature parity across applications, and Kotlin Multiplatform is playing a big role in helping us accomplish this! We've been using App Platform for a few years now in Android and JVM/Linux, but recently took the …

15:15 – 16:00 · Room 13a · Tags: KMP · iOS · SwiftUI · Skala · Casestudie · Amazon

Jessalyn WangJessalyn Wang forteller hvordan Amazon Delivery bruker Kotlin Multiplatform for å akselerere iOS-utvikling på tvers av en stor organisasjon med mange … 📝 notater
👀 The State of Amper
om foredraget

Amper is the new kid on the block in the build tools landscape. In this talk, we'll see exciting new features that we cooked during the past year, like plugins, publication, and some cool IDE features. We'll also have a peek at what's coming next.

15:15 – 16:00 · Room 13b · Tags: Amper · Kotlin Toolchain · Build tools · JetBrains · Tooling

Joffrey BionJoffrey Bion oppsummerer et travelt år for Amper, som ved KotlinConf 2026 ble omdøpt og reposisjonert som selve fundamentet for Kotlin Toolchain – … 📝 notater
Interactive Session on Kotlin Education
om foredraget

15:15 – 16:00 · Room 3

Ksenia Shneyveys, Matt Dyor
Livecoding soundscapes with Compose Multiplatform
om foredraget

Compose Multiplatform allows for the creation of beautiful user interfaces in a declarative, functional paradigm. But the Compose compiler isn't limited to creating UI or even visuals. In this talk, we explore using the Compose compiler to create soundscapes and other pieces of music. I will present a library and domain-specific language (DSL) for musical composition – complete with a plugin to turn IntelliJ into a livecoding environment. We'll start by looking at the building blocks of musical compositions and how Kotlin and Compose Multiplatform can be used to implement them in a declarative and functional way. This includes tone generators/synths, shaping the envelope of a sound, playing …

15:45 – 16:00 · Room 5 (lyntaler)

Merlin Pahic

16:15

ForedragTaler(e)Notater
👀 Swift Export: Where We Stand
om foredraget

16:15 – 16:30 · Room 5 (lyntaler) · Tags: KMP · iOS · Swift interop · Swift Export

Pamela Hill-GallowayStatusoppdatering på Swift Export-prosjektet fra JetBrains, som skal erstatte den gamle Objective-C-broen og gi mer idiomatisk Swift-tilgang til delt … 📝 notater
👀 Increasing quality of AI generated Kotlin code
om foredraget

Discover practical strategies and recent advancements for improving the quality of Kotlin code produced by AI models. We will follow the ups and downs of advancing Kotlin code generation in large scale codebases. This talk explores common challenges in AI-generated code, shares best practices for evaluation and refinement, and highlights tools and techniques that help developers ensure reliability, readability, and maintainability in Kotlin projects powered by AI.

16:15 – 17:00 · Auditorium, Room 1 · Tags: AI · Kodekvalitet · Meta · Skala · Evaluering · Casestudie

Sergei RybalkinSergei Rybalkin fra Meta viste hvorfor bedre AI-generert Kotlin-kode krever mer enn smartere prompter, og delte hvordan teamet hans løfter … 📝 notater
Talking to terminals (and how they talk back)
om foredraget

Have you ever wondered how Gradle renders multiple progress bars below the scrolling output? Or how a Linux installer renders full screen in the terminal? What about how curl somehow displays a progress bar despite having its output redirected to a file? This talk will explore how command-line applications communicate with the terminal. From basic elements such as colors and the terminal size to advanced behavior like frame synchronization, images, and keyboard events. Our journey will be in Kotlin, of course, and cover talking to OS-specific APIs, the challenges of JVM vs. Kotlin/Native, and finally some reusable libraries to make your life easier. Modern terminals are powerful systems …

16:15 – 17:00 · Keynote, Room 14 · Tags: TUI · CLI · Mosaic · Compose · KMP · Dypdykk

Jake WhartonJake Wharton tar oss med på et dypdykk i hvordan CLI-programmer faktisk snakker med moderne terminaler, langt utover det å skrive ut tekst i en farge. 📝 notater
Why Is My IntelliJ So Slow? ...And What Does Your Code Have to Do With It
om foredraget

If you've ever wondered why your IDE crawls when working on seemingly innocent code, you're not alone. In this talk, we won't dive into JVM flags, garbage collector tuning, or obscure performance hacks. Instead, we'll explore how your Kotlin code can have a surprising impact on IDE performance. We'll show how small changes in your code style can lead to noticeable improvements. By understanding how your IDE parses, indexes, and analyzes code, you'll learn how to write code that plays nicely with your tools. It will save a lot of time – not only for you now, but also for your teammates and your future self.

16:15 – 17:00 · Room 13a

Anna Kozlova
Crafting delightful experiences
om foredraget

Jetpack Compose gives us powerful APIs to craft interfaces, but standard implementations often miss opportunities to create truly delightful user experiences. This talk deep-dives into a single interaction. Slide to dismiss! I will demonstrate how thoughtful animation layering transforms a basic gesture into something that feels polished and intuitive. We'll build a complete slide-to-dismiss component, exploring: - **Tap animations** using spring physics for natural, responsive feedback - **Drag gestures** with fluid but interruptible motion - **Visual feedback systems** that guide users, like adding animated effects that communicate certain state changes - **Haptic feedback** that gives …

16:15 – 17:00 · Room 13b

Ian Leshan
Beer, Fries, and the Surprisingly Easy Kotlin Meetups
om foredraget

16:15 – 17:00 · Room 3

Tim Schraepen, Simon Vergauwen
👀 Can Kotlin Swift Interop Ever Be Perfect?
om foredraget

Even the most similar programming languages can have deep semantic differences that are difficult to reconcile within an interop layer. In this talk, we explore some of these differences between Kotlin and Swift, and discuss the compromises they force in the design of Kotlin Swift Export.

16:45 – 17:00 · Room 5 (lyntaler) · Tags: KMP · iOS · Swift interop · Swift Export · Språkdesign

Gleb LukianetsGleb Lukianets tar utgangspunkt i at Kotlin og Swift på overflaten virker svært like, men at typesystemene, minnemodellene og runtime-semantikken … 📝 notater

17:15

ForedragTaler(e)Notater
Setting Kotlin Free with Native Tooling
om foredraget

Elide is a full package for building with Kotlin: install dependencies, compile and test code, and package for production! With support for Native Image and KotlinX built-in, experience Kotlin with nothing in the way. In this hands-on session, we will use Elide to build a small Kotlin command-line tool, shipped as a Native Image within a Docker container.

17:15 – 17:30 · Room 5 (lyntaler)

Sam Gammon
Robocoders: The [K]agematch
om foredraget

17:15 – 18:00 · Auditorium, Room 1 · Tags: AI · AI-agenter · Live demo · Underholdning

Viktor Gamov, Baruch SadogurskyEn underholdende avslutning på dag én der ulike AI-kodeagenter ble satt opp mot hverandre i en «cage match» (med K for Kotlin). 📝 notater
👀 The Lord of Collection Functions - The Fellowship of Kotlin
om foredraget

A darkness has awoken in Center-earth, an ancient evil is reaching out of the shadows of every corrupt codebase, intent on bringing destruction & algorithmic oppression to all that call this world home. Everything that once was cherished will be lost, if the growing scourge is not defeated & cast back into the fires from whence it came… That my dear friends, is where you come in… Join the Kotlin fellowship on an exciting journey to save Center-earth from the imperative evil that was thought long extinct, but is now looping back once more! Help restore pure functional programming to this peaceful realm, ensure immutability & defeat the evil Dark Lord For-ron. Together, we will explore the …

17:15 – 18:00 · Keynote, Room 14 · Tags: Collections · Funksjonell · Standardbibliotek · Underholdning

Ben KadelBen Kadel tar oss med på en Tolkien-inspirert reise gjennom Kotlins collection-funksjoner, der hver funksjon presenteres som et medlem av følget i … 📝 notater
Go Get It, with Kotlin: Lessons Learned Evolving Uber's Java Backend
om foredraget

At Uber, our JVM backend operates at an extensive scale and has historically been developed with Java. Like many companies, we explored what it would mean to introduce Kotlin into that ecosystem not just as a language choice, but as a way to evolve how we build and maintain services. I’ll walk through the implementation and experiments we ran, the assumptions we challenged, and what we learned technically, organizationally, and culturally about introducing a new language into a large, fast-moving monorepo. We’ll cover what worked, what didn’t, and what signals actually matter when making language decisions: from tooling and correctness, to developer experience, to the hidden costs of …

17:15 – 18:00 · Room 13a

Ryan Ulep
Engineering High-Performance Multiplatform Graphic Rendering with Jetpack Compose
om foredraget

Standard animation libraries often force a compromise. GIFs consume bandwidth, Lottie struggles with complex rasters, and video formats lack frame-perfect alpha transparency. Furthermore, replicating complex text effects using these vector or raster formats is inefficient and bloated and can result in glyph shaping issues in different languages. To drive user engagement and measurable business impact, we need tools that are easy to deploy and cost effective to maintain. In this talk, we'll cover two explorations: a custom high-fidelity animated image sequence engine for complex visuals, and TextWave—a specialized engine for animating glyphs that offers superior efficiency and control over …

17:15 – 18:00 · Room 13b

Tunji Dahunsi, Rahul Behera
KMP at Scale in Kuaishou Super App for over 700M users
om foredraget

Kuaishou, one of the world's largest short-video platforms with 800M+ MAU, has successfully adopted Kotlin Multiplatform (KMP) across our core business scenarios, including live streaming, IM, content creation, and social features. This talk shares our journey of migrating massive native codebases to KMP, focusing on practical challenges and solutions at scale. We'll dive into critical production issues we encountered and solved: GC optimization strategies to prevent watchdog crashes, SO library splitting to improve integration efficiency, and compilation optimizations for faster build times. We'll also share our best practices for cross-language interoperability between Kotlin/Native and …

17:45 – 18:00 · Room 5 (lyntaler)

Omico Wang

Dag 2 — fredag 22. mai 2026

Tidspunkter: 09:00 · 10:15 · 11:15 · 13:00 · 14:00 · 15:15 · 16:15 · 17:15

09:00

ForedragTaler(e)Notater
We were meant to be
om foredraget

Dag 2-keynoten med et menneskelig blikk på tech-bransjen i 2026: produktivitetsdebatten, karriereveier i endring og usikkerheten mange kjenner på i AI-tidsalderen, formet gjennom en åpen «work log» i månedene før konferansen.

09:00 – 10:00 · Keynote, Room 14 · Tags: Keynote · Karriere · Mennesker · AI-debatt

Lena ReinhardLena Reinhard holdt dag 2-keynoten med et menneskelig blikk på tech-bransjen i 2026 – produktivitet, karriereveier og usikkerhet i AI-tidsalderen … 📝 notater

10:15

ForedragTaler(e)Notater
👀 10 Gradle Best Practices Every Kotlin Developer Should Know
om foredraget

Wolf går på et kvarter gjennom de ti mest virkningsfulle Gradle-praksisene fra den offisielle veiledningen til JetBrains, Google og Gradle: byggstruktur, trygg avhengighetshåndtering, vedlikeholdbar bygglogikk, konfigurasjonsfeller og CI-fart – pluss en sniktitt på IntelliJ IDEAs sanntidsinspeksjoner som flagger brudd direkte i byggfilene.

10:15 – 10:30 · Room 5 (lyntaler) · Tags: Lyntale · Gradle · Build tools · Best practices · Tooling · JVM

Stefan WolfTi offisielle Gradle-praksiser på et kvarter – med IntelliJ-inspeksjoner som fanger bruddene i sanntid. 📝 notater
👀 Automate upgrading to Kotlin 2 with OpenRewrite
om foredraget

OpenRewrite Kotlin 2 support is here! OpenRewrite can automate Kotlin updates by using its open-source refactoring engine to apply pre-built or custom recipes that modify your codebase at scale. These recipes handle dependency upgrades, API changes, and stylistic consistency, reducing manual effort. In this talk we will share how the Moderne and OpenRewrite engineering team's built and enhanced Kotlin2 support and walk you through the new capabilities. OpenRewrite works by applying "recipes" to the Lossless Semantic Trees (LSTs) that represent your source code. The LSTs capture full type attribution and formatting, allowing for accurate, automated refactoring that respects the original …

10:15 – 11:00 · Auditorium, Room 1 · Tags: Tooling · Refaktorering · OpenRewrite · Kotlin 2 · Migrering

Rooz SF, Jonathan SchneiderRooz SF og Jonathan Schneider viste hvordan OpenRewrite nå har fullverdig støtte for Kotlin 2, slik at store kodebaser kan oppgraderes automatisk i … 📝 notater
Dissecting Kotlin: 2026
om foredraget

Kotlin 1.0 launched 10 years ago, and the language continues to rapidly evolve. As developers, whether we use 1.0 features or explore previews, our Kotlin knowledge grows through both experience and study of its features, design, and implementation. In this talk, we will explore recent stable and in-preview Kotlin features, review their design and implementation, and consider what they reveal about Kotlin as a language and how they can inspire our everyday Kotlin.

10:15 – 11:00 · Keynote, Room 14 · Tags: Kotlin 2.4 · Context parameters · KEEP · Språkdesign · Dypdykk

Huyen Tue DaoTi år etter Kotlin 1.0 tar Huyen Tue Dao publikum gjennom et knippe ferske stabile og forhåndsvisningsfunksjoner – med hovedvekt på context … 📝 notater
Kotlin as a Safety Net: Type-Driven Reliability in the Finance Industry
om foredraget

What happens when a null pointer crash isn't just a bug — it's a compliance incident? Payment systems are one of the few places where the gap between "it compiles" and "it's correct" has real financial and legal consequences. This is a story about using Kotlin's type system as an architectural tool to close that gap. Here's what we'll cover: - Why Java wasn't enough — the specific failure modes that triggered the migration: null crashes in transaction processing, broken rollback flows, and sensitive data leaking into logs at the worst possible moment - Type-driven design in practice — how sealed hierarchies, value classes, and null-safety were used to make invalid payment states literally …

10:15 – 11:00 · Room 13a

Yuri Geronimus
👀 Advanced Kotlin Native Integration
om foredraget

When compiling Kotlin Multiplatform code for native platforms, the compiler produces object files and then links them together. Other libraries and programs can then use the resulting library as a dependency. While this process is similar to other native dependencies, there's a major limitation. There should be only one Kotlin Multiplatform native binary in your project. In this talk we'll take a look at the impact of including multiple Kotlin Multiplatform binaries in an application, look at ways to split the compilation into multiple smaller pieces, and discuss potential solutions for larger projects requiring complex repository structures.

10:15 – 11:00 · Room 13b · Tags: KMP · Kotlin/Native · Build tools · Avansert · Touchlab

Tadeas KrizTadeas Kriz fra Touchlab tar for seg en av de mest oversette begrensningene ved Kotlin Multiplatform: et prosjekt kan i praksis bare inneholde ett … 📝 notater
👀 A First Look at the Kotlin Ecosystem Plugin for Declarative Gradle
om foredraget

Declarative Gradle is a reset moment for build authoring – declarative, opinionated, and built for better toolability. But that’s only half the story. In this talk, we’ll take a first look at the Kotlin ecosystem plugin built on top of it and show how it lets us radically improve a number of core Kotlin and Multiplatform build concepts that were painful to work with, but almost untouchable until now. We’ll showcase an early prototype and walk through key changes and reasoning behind them.

10:45 – 11:00 · Room 5 (lyntaler) · Tags: Gradle · Build tools · Declarative · KMP · Tooling

Marcin MycekMarcin Mycek ga en tidlig demo av Kotlin Ecosystem Plugin – en eksperimentell prototyp bygget oppå Declarative Gradle – som skal gi Kotlin- og … 📝 notater

11:15

ForedragTaler(e)Notater
👀 Reflection is Evil
om foredraget

Reflection is a feature present in many higher level languages/VMs such as the JVM & .NET. In this talk Jeffrey will try to convince you using Reflection can be problematic.

11:15 – 11:30 · Room 5 (lyntaler) · Tags: Lyntale · JVM · Compiler plugin · Compile-time · Språkdesign

Jeffrey van GoghJeffrey van Gogh, «språkgeek» hos Google, argumenterte i denne lyntalen for at refleksjon – evnen kjørende JVM- og .NET-kode har til å inspisere og … 📝 notater
Idiomatic Kotlin applications with Spring Boot 4
om foredraget

In this brand new talk, Sébastien shares his guidance on how to write idiomatic Kotlin applications in 2026 with Spring Boot by focusing on various aspects: build, null-safe APIs, logging, configuration, serialization, observability, API versioning, resilience, efficiency, tests, persistence, AI, etc. He will leverage the latest Kotlin extensions and Spring Boot 4 features in multiple short examples and demos to share tips and recipes that should be easily actionable for Kotlin server-side developers.

11:15 – 12:00 · Auditorium, Room 1 · Tags: Spring Boot · Backend · Null-safety · Coroutines · Virtual threads · JSpecify

Sébastien DeleuzeSébastien Deleuze viser hvordan Spring Boot 4 gjør backend-utvikling i Kotlin mer idiomatisk enn noen gang, med korte demoer på tvers av bygg … 📝 notater
👀 How I Learned to Stop Worrying and Love Value Semantics (in Kotlin)
om foredraget

Kotlin developers often juggle references and mutable objects, both in server-side and mobile applications. In many cases, adopting value semantics makes code easier to read, reason about, and test. This session explains what value semantics actually is, why it matters, and how to apply it effectively in Kotlin without being afraid of a "complicated mental model" or "too many allocations." The talk starts by clearly defining value semantics in contrast to reference semantics: identity vs equality, mutation vs copying, and how those ideas map to familiar Kotlin features such as data classes and their copy() function, up-and-coming value classes, and (im)mutable collections. It outlines the …

11:15 – 12:00 · Keynote, Room 14 · Tags: Språkdesign · Value classes · Immutability · Performance · Data class

Marat AkhinMarat Akhin fra JetBrains sitt Kotlin Language Evolution-team argumenterer for hvorfor value-semantikk fortjener en langt mer sentral plass i Kotlin … 📝 notater
👀 Redefining Machine Learning with Kotlin: A Device-First Approach to AI
om foredraget

Large Language Models have revolutionized AI — but their centralized nature comes with real costs: concentration of knowledge, privacy risks, and latency. What if Kotlin developers could flip the script, bringing powerful AI directly onto devices with an open-source, developer-friendly machine learning framework? In this talk, we’ll take you inside our journey of building SKaiNET, a brand-new framework written from scratch in Kotlin Multiplatform. We’ll start by exploring the limitations of today’s tools, then walk step-by-step through defining neural networks in Kotlin using a type-safe DSL, compiling them into compute graphs, and running lightweight models like convolutional nets and …

11:15 – 12:00 · Room 13a · Tags: AI · ML · KMP · On-device · SKaiNET · Personvern

Michal HarakalMichal Harakal presenterte SKaiNET, et Kotlin-basert rammeverk som gjør maskinlæring praktisk på enheten uten å måtte gå veien om Python eller … 📝 notater
Build Tools API: a stable interface for the Kotlin compiler
om foredraget

The Kotlin compiler is the heart of the Kotlin ecosystem, but integrating it reliably into custom build systems, IDEs, or other tools has long presented challenges. Historically, interactions often relied on command-line interfaces (CLI) or internal, unstable APIs, making support for features like incremental compilation and multiplatform projects (KMP) difficult to maintain. Enter the Kotlin Build Tools API (BTA): a new, stable, and programmatic interface designed to simplify these integrations. BTA offers a consistent way to perform common compiler operations, starting with compiling Kotlin source files for the JVM platform - complete with full support for daemon/in-process modes and …

11:15 – 12:00 · Room 13b

Wojtek Kalicinski
The place where leaking abstraction, data races and security vulnerabilities all meet
om foredraget

Working with files and directories is such a ubiquitous task, we're all doing it every day whether we want it or not. After filesystems introduction, more than 60 years ago, multitude of libraries and APIs were introduced, and by the 2025 the problem of interaction with file systems from your program should be finally solved. But is it though? In my talk, I'll open a Pandora's box of leaking abstractions, data races and security vulnerabilities for you, and we'll see whether "there's a library from 80s doing that!" means the problem is solved, or it is an invitation to innovate.

11:45 – 12:00 · Room 5 (lyntaler)

Filipp Zhinkin

13:00

ForedragTaler(e)Notater
How your Web colleagues can start using Kotlin within their preferred environment?
om foredraget

You suggest that your fellow web developers reuse business logic already written in Kotlin, but they get stuck on a requirement to switch IDEs, and learn new tech stack? In this session, I’ll show you how to use Kotlin LSP, command-line tools like emulators and adb, and Hot Reload to build and iterate on a KMP mobile app directly in Cursor. From there, I’ll take the next step and begin sharing Kotlin business logic with an existing JS/TS application—all within a single IDE, while maintaining a tight feedback loop. For the most adventurous, we might even try sharing some UI. I will show also, how your web colleagues can use AI (Cursor in this case), to explore Kotlin code, without a need to …

13:00 – 13:15 · Room 5 (lyntaler)

Denis Ambatenne
Practical Filament - Reshape your UI!
om foredraget

Let’s take a closer look at Filament, the real-time physically based rendering engine, and learn how to use it to build fun effects in our day -to-day UI. Using Compose Multiplatform, we will explore the main Filament features, and how to use them to create some particle and material based UI effects and interactions. We will cover how to set up Filament, how to work with its material system, and how to use shaders and lighting to create simple effects that react to touch and animations. All of this rooted in practical examples, without diving too much into low level graphics code. After this talk, you will have a better understanding of how Filament works, and how you can use it to create …

13:00 – 13:45 · Auditorium, Room 1

Nicole Terc
Eval-Driven Development: The Fine Line Between Agentic Success and Failure
om foredraget

Agentic systems unlock capabilities that traditional “deterministic” applications simply can’t deliver. But there’s a catch: their probabilistic nature introduces real and often unexpected risks—hallucinations, context drift, prompt degradation, and multi-step workflows that evolve in surprising ways. And you definitely don’t want to discover those in production. The good news: there is a remedy. We can borrow the most reliable practice from deterministic software—test-driven development—and adapt it to the agentic world. The result is Eval-Driven Development (EDD): a systematic, engineering-first approach to bringing reliability into inherently probabilistic systems. In this talk, we …

13:00 – 13:45 · Keynote, Room 14 · Tags: AI-agenter · Evaluering · Koog · Metode · Testing

Urs PeterUrs Peter argumenterer for at Eval-Driven Development (EDD) er den ingeniørdisiplinen som skiller fungerende AI-agenter fra prototyper som havarerer … 📝 notater
Deconstructing OkHttp
om foredraget

OkHttp is a popular library for making network calls. You might use it directly, or with Ktor, Retrofit, Coil, or gRPC. But this is not a talk on how to use OkHttp. Instead, we’ll open up the code and look at its weird and clever implementation details. We’ll see connection lifecycles, cache state machines, and URL decoders. We’ll learn: * How OkHttp’s own architecture is a stack of interceptors. * How you can generate certificates for testing HTTPS. * The extreme effort OkHttp makes for great performance. * Three different ways to extend OkHttp. If you’d like to see some capable and efficient code in Kotlin, this talk is for you.

13:00 – 13:45 · Room 13a

Jesse Wilson
Sony's KMP Journey: Scaling BLE & Hardware with Kotlin Multiplatform
om foredraget

“You have 9 months to build iOS and Android apps from scratch for our next premium headphones. How you do it is up to you, but it has to work flawlessly.” This was the directive given to a small group of Android engineers at Sony in 2021. The requirements were brutal: high-speed BLE connectivity for real-time sensor data, robust background execution, and a UI capable of keeping pace with hardware innovation. The goal? To ensure the software experience matched the world-class quality of our hardware. Against conventional wisdom, we made a calculated bet on Kotlin Multiplatform (KMP), even though it was still in preview. In this session, I will take you inside Sony’s 6-year journey from a …

13:00 – 13:45 · Room 13b

Sergio Carrilho
👀 Hot-Reloading Kotlin/Native
om foredraget

"Compose Hot-Reload is impossible on iOS Simulators without a JVM." If you've heard this, prepare to be surprised. We will explore the experimental engineering journey of bringing hot-reload to Kotlin/Native on iOS. We’ll uncover why traditional hot-reload approaches fail on Apple’s Darwin platforms and how we bypassed these strict limitations without building a custom Kotlin Virtual Machine. Instead, you'll see how we leveraged LLVM ORC v2 to enable hot-reload directly on iOS. We will dive into the under-the-hood compiler changes, from split compilation to the new hot-reload runtime module, and discuss the real-world complexities of state preservation, function updates and class layout …

13:30 – 13:45 · Room 5 (lyntaler) · Tags: Kotlin/Native · iOS · Compose · Hot reload · LLVM · Compiler

Gabriele PappalardoGabriele Pappalardo (JetBrains) fortalte om den eksperimentelle reisen med å få Compose Hot-Reload til å fungere på iOS-simulator uten en JVM, noe … 📝 notater

14:00

ForedragTaler(e)Notater
👀 Flow with Exposed: Life Finds a Way
om foredraget

A single automaton is activated. The ruleset for its potential state is predetermined. How many generations will it or its descendants take to breach the confines of their environment? What if hundreds had been activated? Using a zero-player simulation with each automaton signalling its own state-change event to the server, we'll see how Exposed, a database access library, can assist with high throughput and the handling of asynchronous database operations. We'll also leverage Kotlin Flow on top of Exposed DSL queries to observe a continuous data stream of all state updates to the UI. Throughout different phases of the simulation cycle, we'll query our data using Exposed, then analyze and …

14:00 – 14:15 · Room 5 (lyntaler) · Tags: Exposed · Database · Flow · Coroutines · DataFrame · Kandy

Chantal LoncleChantal Loncle bruker en zero-player automaton-simulering som gjennomgående demo for å vise hvordan Exposed takler høy throughput og asynkrone … 📝 notater
👀 Full-Stack Kotlin AI: Powering Compose Multiplatform apps with Koog & MCP
om foredraget

This session will demonstrate how you can use the Koog AI agent framework to form the intelligent core of your Compose Multiplatform application. We'll also outline how to - use "local tools" that give your agent additional capabilities on Android, iOS, and Desktop - connect to an MCP server developed using the Kotlin MCP SDK - use both cloud based and local on-device LLMs

14:00 – 14:45 · Auditorium, Room 1 · Tags: Koog · MCP · Compose Multiplatform · Full-stack · AI-agenter · On-device

John O'ReillyJohn O'Reilly viser hvordan Koog kan brukes som den intelligente kjernen i en Compose Multiplatform-app, og dermed gi ett felles rammeverk for … 📝 notater
Context parameters and API design
om foredraget

Context parameters, a relatively new feature in the Kotlin language, provides new choices for API design. This choice, however, also brings new questions, especially in their relation to receivers. This talk describes some of the most important details from the context parameter design that library authors should take into account. We then describe the "spotlight principle" as a general guide on the context parameter / extension conundrum, and see how the general guidance applies in a few common scenarios.

14:00 – 14:45 · Keynote, Room 14 · Tags: Kotlin 2.4 · Context parameters · API-design · DSL · Språkdesign

Alejandro Serrano MenaContext parameters ble stabilisert i Kotlin 2.4 og skrives foran signaturen som `context(users: UserService) fun User.getFriends()`, slik at verdien … 📝 notater
👀 What Nobody Told Us About Shipping Kotlin to iOS
om foredraget

Three Android developers. No iOS experience. A two-month deadline to ship an internal app to both platforms. We went with Compose Multiplatform, and the UI layer worked well with 100% Compose. What nobody warned us about was everything underneath — the boundary between Swift and Kotlin. After running the app in production for about a year, we've collected a set of problems and patterns worth sharing. This session covers three case studies from our production experience: - Native State Observation: Using StateFlow as a bridge between iOS-native events and shared Compose UI — handling force updates, feature flags, and remote config with one pattern. - Integrating Non-KMP SDKs: A delegate …

14:00 – 14:45 · Room 13a · Tags: KMP · iOS · Compose Multiplatform · Swift interop · Casestudie · Firebase

Suhyeon (Leah) KimSuhyeon (Leah) Kim delte erfaringer fra en tomåneders sprint der teamet skulle levere en Kotlin Multiplatform-basert iOS-app under sterk tidspress … 📝 notater
Your Life on a Map: Private Geospatial Analytics with Kotlin DataFrame and Kandy
om foredraget

In the age of fitness trackers, smartwatches, cycling computers, and travel apps, each of us generates a huge amount of personal geographical data - daily steps, running routes, bike rides, hikes, city walks, and road trips. But how do we turn this raw stream of GPX, GeoJSON, KML, or TCX files into meaningful insights, clean datasets, and reliable analytics? These datasets are rich and deeply personal - and not everyone wants to upload them to cloud platforms or rely on whatever limited dashboards a mobile app provides. Sometimes the analytics you want simply aren’t there, and sometimes privacy matters more than convenience. In this talk, I’ll show how Kotlin DataFrame and Kandy can help …

14:00 – 14:45 · Room 13b

Aleksei Zinovev
👀 The Backend Immune System - Rich Errors, Ktor Observability and Safe Local Remediation
om foredraget

Modern backend systems must do more than fail loudly: they must explain failures, prioritize and sometimes fix automatically without introducing new risk. This talk introduces the Backend Immune System, a Kotlin‑native resilience pattern built on three ecosystem strengths: rich errors, Ktor observability and local, deterministic agents that perform safe, verifiable remediations. Inspired by biological immune systems, we explore how backend failures can be turned into actionable signals, how Ktor can act as an observability radar and how a lightweight local agent can respond with safe, idempotent micro‑remediations. This is not self‑healing infrastructure and not a remote LLM. The agent …

14:30 – 14:45 · Room 5 (lyntaler) · Tags: Backend · Ktor · Resilience · Observability · Feilhåndtering · Rich errors

Meike Felicia HammerMeike Felicia Hammer presenterte et Kotlin-native motstandsmønster hun kaller «The Backend Immune System», bygd på tre samvirkende lag: rike, typede … 📝 notater

15:15

ForedragTaler(e)Notater
gRPC, Made for Kotlin
om foredraget

gRPC for Kotlin has long been JVM-only with a huge Java legacy. This is the past now. The kotlinx-rpc team has been working to make gRPC Kotlin-first - in APIs, platforms support, and tooling. And we will present all our results during the session: - gRPC for iOS and other Kotlin/Native targets - First-class compiler plugin support with IDE tooling - User-friendly code generation

15:15 – 15:30 · Room 5 (lyntaler) · Tags: Lyntale · gRPC · kotlinx-rpc · Backend · Coroutines · Flow

Alexander SysoevAlexander Sysoev viste i denne lyntalen hvordan kotlinx-rpc endelig gjør gRPC til et fullt idiomatisk Kotlin-verktøy, i stedet for at man må lene seg … 📝 notater
👀 TestBalloon: Kotlin testing is easier (and more fun) than you think
om foredraget

You want an easier way to write tests? Parameterize tests in plain Kotlin? Reuse a series of tests? Easily extend own your test setup? Have first-class support on all platforms? All without struggling with a huge framework API? TestBalloon is a new test framework that brings the power of Kotlin to your test setup. With a small-surface API, a hierarchical test structure and an extensible DSL, TestBalloon makes Kotlin testing easy. How does TestBalloon fit into the existing test landscape? Why can you keep your favorite assertions library or just use Power Assert? How does a next-generation framework cooperate with legacy JUnit 4, but also the latest JUnit 6? How well can it support all …

15:15 – 16:00 · Auditorium, Room 1 · Tags: Testing · TestBalloon · KMP · Wasm · DSL · JUnit

Oliver Okrongli, Bernd PrünsterOliver Okrongli og Bernd Prünster presenterte TestBalloon, et Kotlin-first testrammeverk bygget rundt en liten, konsis API-flate og en utvidbar DSL i … 📝 notater
👀 How Kotlin Powers Functional Design: MCP Edition
om foredraget

We've seen this before. When we built http4k, we were using Kotlin to fight reflection-based magic, untestable architectures, and runtime failures that should have been caught as compile errors. The approach we took - treating everything as composable functions - solved these problems and created a toolkit developers love using. Now we think MCP SDKs are making the exact same mistakes. Complex frameworks tied to specific transports. Testing that requires running actual servers. Runtime errors from type mismatches that could be caught at compile time. And when the MCP spec shifted from SSE to HTTP streaming, tightly-coupled architectures struggled to adapt. It's 2015 all over again. Building …

15:15 – 16:00 · Keynote, Room 14 · Tags: MCP · http4k · Funksjonell · Backend · API-design · Extension functions

David DentonDavid Denton fra http4k viste hvordan Kotlin og funksjonell design gir en langt enklere vei til MCP-servere enn de offisielle SDK-ene, som han … 📝 notater
Teaching Kotlin for the AI Era: Tips, Tools, and Practical Insights
om foredraget

AI is not only transforming software development but also redefining how we teach programming. As this landscape evolves, programming courses must adapt to meet new industry demands. Traditional methods, like teaching basic syntax or relying heavily on lectures, are no longer enough. Instead, we need to rethink both what we teach and how we teach, equipping students with skills relevant to an AI-driven world. In this talk, we will share industry insights on how AI is already shaping the software development world, connect these trends to programming education, and explore how universities are integrating this into their programming courses. We’ll highlight how all of this maps to Kotlin …

15:15 – 16:00 · Room 13a

Anastasiia Birillo, Daniil Karol
Adventures in Whimsical UX: The Tug-of-War Between Delight & Performance
om foredraget

Lauren from product wants a future-facing mobile app full of highly responsive and rich visuals, robust animations, immersive soundscapes, and meaningful haptics. Eric from engineering wants to ensure the app starts up quickly, doesn’t drop frames, and runs on a cheap, 5-year-old tablet without OOMing on launch. Their product strategy requires both. In this fun, dialogue-style session, mobile performance experts and newly minted co-founders Lauren Darcey and Eric Kuck explore the eternal tension between "making it delightful" and "making it performant." What happens when mobile performance-focused developers lean in to building some of the most intensive user experiences, from particle …

15:15 – 16:00 · Room 13b

Lauren Darcey, Eric Kuck
Building Developer Communities: How JetBrains Supports Kotlin User Groups Around the World
om foredraget

15:15 – 16:00 · Room 3

Maria Krishtal
KotlinLLM: Leveraging AI for Runtime Logic Delegation in Kotlin
om foredraget

As software development evolves in the AI era, developers need adapt new technologies to improve efficiency and workflows. Kotlin, known for reducing boilerplate code and enabling clean, readable solutions, is an ideal foundation for integrating AI into modern development practices. KotlinLLM is a research project with an aim to discover what kind of features can LLMs power in the programming language. We share our results by showing the usecases, advantages and limits of our approach. The focus is on a feature called `asLlm` – an inline function that expands into an automated object parser. This parser generates logic for parsing during the application's runtime. This way, the LLM has …

15:45 – 16:00 · Room 5 (lyntaler) · Tags: Lyntale · KotlinLLM · Runtime delegation · LLM

Stanislav SandlerI denne lyntalen viste Stanislav Sandler frem KotlinLLM, en forskningsprototyp fra JetBrains som lar deg delegere forretningslogikk til en LLM ved … 📝 notater

16:15

ForedragTaler(e)Notater
👀 Koin + Kotlin Compiler = ♥️
om foredraget

Koin is taking its biggest leap in 8 years: embracing the Kotlin Compiler. This talk shows what happens when your favorite DI framework moves the heavy lifting to compile time. From an automated DSL and precomputed dependency indexes to real compile-time safety guarantees. Same simplicity, new superpowers.

16:15 – 16:30 · Room 5 (lyntaler) · Tags: Koin · DI · Compiler plugin · Compile-time · Performance

Arnaud GiulianiArnaud Giuliani presenterte den største endringen i Koin på åtte år: en tett integrasjon med Kotlin-kompilatoren som flytter mesteparten av arbeidet … 📝 notater
Moments When Things Go Wrong
om foredraget

Sometimes you find yourself with a bug in a library or a tool you are using causing things to fail or even worse fail flakily. This talk will be a guide on how to take it from there. We'll walk through examples of non-determinism, race-conditions, undocumented behavior and others to see what we can learn to make the process to a working build/application faster. We'll look into an example of a race condition in the Kotlin Gradle Plugin. We'll hone our skills in investigation, isolation of the issue to create a standalone reproduction, and finally getting it resolved. We'll discuss at what point you should care about a problem or simply leave it alone. The stories will be inspired by …

16:15 – 17:00 · Auditorium, Room 1

Aurimas Liutikas
Spec-Driven Development with AI Agents: From High-Level Requirements to Working Software
om foredraget

16:15 – 17:00 · Keynote, Room 14 · Tags: AI · AI-agenter · Metode · Workflow

Anton ArhipovArhipov presenterte «spec-driven development» som en strukturert måte å jobbe med AI-kodeagenter på. 📝 notater
Turbocharged Kotlin/Native on AWS Lambda
om foredraget

AWS Lambda is a powerful tool for serverless architectures but many examples and tools assume you're working in Python, Node.js, or Java. This talk demonstrates fast, maintainable Lambda functions in your preferred language! In this session, we'll go from zero to fully-deployed Kotlin/Native Lambda functions, with real performance data and practical tradeoffs at every step. You'll learn how to build a custom Lambda runtime, structure your code for serverless, and to package & deploy your application. Throughout the talk we'll highlight how to measure & optimize for cold starts, concurrency, and efficiency. Whether you're hitting Lambda timeout limits, paying for wasted cold start time, or …

16:15 – 17:00 · Room 13a

Ian Botsford
Developing Music Creation Apps for Web, Desktop and Android
om foredraget

Writing music creation apps for multiple platforms is challenging. We need cross platform, low latency audio. We also need a UI that can follow the musical events. And for multiplayer apps we need cross platform network communication. Learn how we solved the audio problem using expected/actual classes and multiple host specific implementations, including WebAudio. We will examine the issues around using co-routines for real-time audio and how it relates to state flow. We will also discuss the conversion of an old general purpose modular synthesis library from Java to Kotlin Multiplatform and how we modernized the API. The UI required some novel techniques including custom drawing and …

16:15 – 17:00 · Room 13b

Phil Burk
👀 Powering Up Your Assertions
om foredraget

Big changes to Power-Assert are headed your way with Kotlin 2.4! We’ve heard your complaints about complex Gradle configuration, confusing message diagrams, and poor library integration. We’re hoping to address all of these areas, and I’ll show you how! But the good news doesn’t stop there. If you’re an assertion library author, you may be interested in how you can add first-party support for Power-Assert to your library. We want every assertion library to have the same great, out-of-the-box experience! And we might even take a brief look at what we’ll be working on next!

16:45 – 17:00 · Room 5 (lyntaler) · Tags: Testing · Power-Assert · Kotlin 2.4 · Compiler plugin · Diagnostics

Brian NormanBrian Norman viser hvordan Power-Assert i Kotlin 2.4 tar et solid steg framover, med direkte respons på tilbakemeldingene fra brukerne. 📝 notater

17:15

ForedragTaler(e)Notater
👀 Golden Kodee Awards
om foredraget

The Golden Kodee Awards honor members of the Kotlin community who share knowledge and inspire others. We recognize contributions in five key categories – Creativity, Online Presence, In-Person Presence, Education, and Positive Societal Impact. Join us for the KotlinConf closing ceremony to celebrate the winners together!

17:15 – 18:30 · Keynote, Room 14 · Tags: Awards · Community · Avslutning

Sebastian Aigner, Pamela Hill-Galloway, Natasha Murashkina, Hadi HaririAvslutningsseremonien på KotlinConf 2026 delte ut de aller første Golden Kodee Community Awards, som hyller fremragende bidragsytere i … 📝 notater