KotlinConf 2023
2023-04-12..2023-04-14
Amsterdam, Netherlands
[KotlinConf 2017, KotlinConf 2018, KotlinConf 2019, KotlinConf 2023]
| title | author | length |
|---|---|---|
| Keynote | Grace Kloba | 01h 00m |
Kotlin 2.0 (K2) preview compiles a large corpus, passes nearly all tests, and puts the front end several times faster so the whole compilation pipeline is… | ||
| Compose Multiplatform on iOS | Sebastian Aigner, Nikita Lipsky | 45m |
Demo shows Compose Multiplatform on iOS as an Alpha release (Compose Multiplatform 1.4) that actually renders shared Compose UI on iOS via Skiko/Skia rendering… | ||
| Coroutines Beyond Concurrency | Alex Semin | 40m |
Shows coroutines used beyond async: a 100k-coroutines demo proves cheap creation, and sequence builders in the standard library implement laziness by storing a… | ||
| Playing in the Treehouse with Redwood and Zipline | Jake Wharton | 47m |
Cash App’s Redwood is a Kotlin multiplatform Compose layer that compiles one composable set into native Android, iOS and web widgets; Zipline is a… | ||
| Coroutines and Loom behind the scenes | Roman Elizarov | 45m |
A live demo runs 100,000 threads sleeping: physical threads take tens of seconds and lots of OS resources, virtual threads start immediately. Project Loom uses… | ||
| Dissecting Kotlin: Unsealing the Sealed, the SAM, and Other Syntax | Huyen Tue Dao | 42m |
Shows concrete changes and tradeoffs: sealed interfaces (Kotlin 1.5) enable exhaustive when checks across interface axes, data objects (Kotlin 1.9) give object… | ||
| Reflections on a Year of Compose | Christina Lee | 44m |
Pinterest spends 18 months integrating Jetpack Compose, builds experiments that force AOT via a tiny red pixel and later full rewrites, and finds a persistent… | ||
| Closing Panel | 57m | |
Fourteen panelists answer audience and online questions about concrete things not slogans they report a 700 person waiting list for k2 and reveal 1 300 mascot… | ||
| Transforming Farmer's Lives Using Android in Kenya | Harun Wangereka | 44m |
Apollo Agriculture runs two Android apps written in Kotlin that are offline‑first and render UI from the server using Jetpack Compose. Forms are JSON Schema… | ||
| Modern Compose Architecture with Circuit | Zac Sweers, Kieran Elliott | 31m |
Claims a Compose‑first architecture that runs business logic inside the Compose runtime and replaces coroutine plumbing with a typed presenter/state/event… | ||
| Video Game Hacking using Kotlin/Native | Ignat Beresnev | 21m |
Claim: pure Kotlin/Native can read and write another process’s memory on Windows and even inject a DLL to call in-game functions. Tools used: Windows APIs like… | ||
| Implementing a MIDI player in Kotlin | Piotr Jagielski | 44m |
Step‑by‑step implementation shows a working MIDI player built in Kotlin using Kotlin coroutines and the JVM standard library that reads MIDI files via the Java… | ||
| 5 years of Multiplatform Settings | Russell Wolf | 15m |
Multiplatform Settings starts as a small Kotlin Multiplatform key value wrapper and after five years grows into a library with JVM JavaScript Android iOS… | ||
| Make more money by modeling and optimizing your business processes with Kotlin | Holger Brandl | 46m |
An MIT‑licensed, code‑first discrete event simulator called kalasim models processes as suspendable coroutines on the JVM, integrates with lets-plot and… | ||
| The Layout Animations Show | Nicole Terc | 36m |
Demos use Compose Multiplatform animation APIs on layouts (Box Column Row) and show concrete code: Boolean and enum states drive AnimatedVisibility Crossfade… | ||
| Deep Dive into Deep Learning with KotlinDL | Alexey Zinoviev | 49m |
Live demo of KotlinDL shows actual code: ResNet50 transfer learning where the top layers are replaced, trained on a tiny dataset, and accuracy rises from ~30%… | ||
| To Detekt 2.0, and beyond! | Nicola Corti | 45m |
Detekt announces a move from separate Gradle tasks to a compiler plugin to stop double compilation and make type resolution accurate, ships 123 RC1 as the step… | ||
| Showkase: Automated UI Infrastructure in Jetpack Compose using KSP | Vinay Gaba | 44m |
Showkase uses KSP-based metadata per module to collect @Preview and a custom @ShowkaseComposable, writes small metadata classes into a fixed package… | ||
| Why code autocompletion works faster on weekends | Egor Tolstoy | 17m |
Production opt in telemetry shows autocompletion faster on weekends because users work on smaller projects then and completion latency correlates with project… | ||
| Kotlin Multiplatform in Google Workspace | Jason Parachoniak | 15m |
Claims migrate a decade of shared Java business logic to Kotlin Multiplatform to keep identical behavior across Android iOS Web and server, not just examples… | ||
| Interstellar social simulation framework and game development in Kotlin | Kwun Hang Lai | 16m |
A framework called Relativitization models interstellar agent-based systems with explicit time dilation and finite-light-speed communication, claims automatic… | ||
| Exploring the Testing Hyperpyramid with Kotlin and http4k | David Denton, Ivan Sanchez | 44m |
Claims include that tests can run an entire bank on a single developer workstation and that http4k (about a million downloads a month) plus Kotlin let teams… | ||
| Partial linkage of Kotlin libraries | Dmitriy Dolovov | 18m |
Partial linkage claims to avoid build crashes by letting the compiler drop unresolved IR expressions and replace them with runtime-throwing stubs so broken… | ||
| How to Publish Your First Kotlin Multiplatform Library | Isuru Rajapakse | 13m |
KStore is a minimal multiplatform disk-storage library that goes from prototype to published artifact and actually lands on Maven Central via Sonotype. The… | ||
| Avoiding common coroutines mistakes in Compose | Márton Braun | 15m |
Compose code repeatedly launches coroutines when those launches live directly inside composable bodies, causing a snackbar to pop endlessly if recomposition… | ||
| 7±2 things you didn't know about Exposed | Alexey Soshin | 44m |
Seven concrete takeaways about Exposed include how many‑to‑many uses the via function to infer join columns, date handling requires choosing Joda Java time or… | ||
| K2 Compiler plugins | Mikhail Glukhikh | 46m |
Lists K2 changes versus K1 with concrete effects: K2 plugin API exposes explicit extension points, predicates, and transforms so plugins can add members… | ||
| Put your Ktor Microservices on Kubernetes without a JVM! | Bjorn van der Laan | 19m |
Ktor app compiles to a Linux executable with Kotlin Native, is dockerized and runs on Kubernetes, using SQLDelight + Postgres and Arrow for the demo, and load… | ||
| AWS SDK for Kotlin overview | Ian Botsford | 40m |
AWS ships a Kotlin SDK built from scratch (about 76,000 handwritten lines and ~6,000,000 generated), published as developer preview (0.21.4). It exposes AWS… | ||
| Preventing Data Races in Async Coroutines | Kevin Bierhoff | 16m |
An example shows 10,000 coroutines racing on an ArrayList and producing missing elements (e.g. 9,988) or internal exceptions. Two concrete defenses appear: a… | ||
| Handling billions of events per day with Kotlin Coroutines | Florentin Simion, Rares Vlasceanu | 41m |
Migrates a 12‑year blocking Java app to an asynchronous model using Kotlin coroutines and Kotlin Flow, swaps Jetty for Vert.x, keeps most Java code and… | ||
| Koin 3.2 - Improving the Kotlin Developer Experience | Arnaud Giuliani | 42m |
Koin 3.2 ships a new, narrower DSL with a singleOff constructor DSL and an options block that reduces scattered get calls, adds module includes with graph… | ||
| Meetup with KMM Libraries | Colin Lee | 40m |
Meetup adopts Kotlin Multiplatform Mobile and builds the Meetup for Organizers app with a four‑engineer prototype team, hitting real GraphQL data and shipping… | ||
| Writing backend APIs in a functional programming style | James Lamine | 31m |
Pattern claims: separate business logic from I/O using a functional-core, imperative-shell and keep each RPC result as a Result so error handling changes only… | ||
| Tracing Coroutines on a JVM | Tyson Henning | 10m |
Tracing breaks when coroutine continuations move between threads because ThreadLocal trace context gets lost; the claim is that CopyableThreadContextElement… | ||
| The Art of KMP: how I learned backend development with Kotlin and why you should too | Lena Stepanova | 14m |
Builds a KMP backend for a KMM app called KMPizza and proves it works end to end: shares models in a common module, spins up a Ktor server, packages with… | ||
| Declarative Test Setup | Brian Norman | 32m |
Datasite replaces brittle, manual test fixtures with a Kotlin DSL that declaratively describes environment components and then finds-or-creates them via client… | ||
| How we completely rewrote our static code analyzer for Kotlin | Marharyta Nedzelska | 46m |
A full rewrite replaces the universal intermediate tree with SonarKotlin 2.0 built on PSI and a semantic model, raising rule precision and expanding to about… | ||
| Nicer data transformation with KopyKat and Optics | Alejandro Serrano Mena | 16m |
Concrete tradeoffs and runnable techniques: KopyKat is a compiler plugin that gives a mutable scope API but implements it by code generation via KSP that… | ||
| Evolving your Kotlin API painlessly for clients | Leonid Startsev | 42m |
Concrete rules and tools for keeping a Kotlin library stable: use the binary compatibility validator Gradle plugin to generate an API dump and run API check so… | ||
| How we’re improving performance of IntelliJ IDEA Kotlin plugin | Vladimir Dolzhenko | 46m |
Renaming a private property triggers a text scan across ~1,500 files until scope is constrained, so the plugin changes APIs to require tight scopes; compiler… | ||
| Kotlin/Multiplatform for iOS developers : state & future | Salomon Brys | 37m |
Slides run as a Kotlin JS webpage in Chrome, proving Kotlin can target the web. Kotlin/Multiplatform exports Objective‑C headers so generics and interfaces… | ||
| Direct2DB: Radically simplified app architecture with Kotlin | Mike Hearn | 50m |
Argues a concrete architecture: Kotlin + Jetpack Compose Multiplatform apps talk JDBC direct to Postgres with Postgres providing RPC, row‑level security and… | ||
| How we test concurrent algorithms in Kotlin Coroutines | Nikita Koval | 45m |
JetBrains uses Lincheck to declaratively test a dozen non‑trivial concurrent data structures (queues, semaphores, channels), generating and controlling… | ||
| Elevated Gardening with the Kotlin Ecosystem | Brian Norman | 13m |
A home Rice Garden gets instrumented into a networked hydroponic controller that measures pH and ppm every minute, doses milliliter volumes with peristaltic… | ||
| Kotlin Native for CLIs | Ryan Harter | 44m |
Kotlin Native builds a real CLI from a multiplatform image-diff library but trades JVM conveniences for manual memory and linking work. The prototype uses… | ||
| Fighting regressions in Kotlin | Liliia Abdulina | 13m |
Kotlin establishes a regression-prevention pipeline starting Spring 2022 that combines root cause analysis, analytics monitoring and a tracking bot called… | ||
| Replacing SQL with Kotlin's 'dataframe' on the Las Vegas Strip | Andrew Goldberg | 39m |
A working Kotlin pipeline replaces a mostly SQL/Excel process and reduces reliance on SQL by about 80–90%, using Kotlin dataframe as the transformation engine… | ||
| Adventures building a Kotlin Multiplatform Benchmarking Library | Rahul Ravikumar | 34m |
Builds a Kotlin Multiplatform benchmarking and tracing library that emits trace sections visible in Perfetto and Instruments, binds into XCTest via C interop… | ||
| Arrow 2.0's Trajectory | Simon Vergauwen | 33m |
A ten year journey condenses into concrete changes: Arrow removes higher‑kinded types and type classes (deprecated in 0.12, removed in 0.13), replaces Traverse… | ||
| Crash Course on the Kotlin Compiler | Amanda Hinchman-Dominguez | 43m |
Step‑by‑step tour of how Kotlin code becomes JVM bytecode, with concrete examples: reverse engineering compiler plugins (the Sam‑with‑receiver plugin source… | ||
| Scale McDonald's with KMM | Jackson Mafra, Cas van Luijtelaar | 15m |
KMM powers a production McDonald's app used in 60+ markets with 300M downloads and an order every second; teams share 90% shared presentation logic and migrate… | ||
| Kotlin Multiplatform Mobile for Teams | Kevin Galligan | 46m |
Clear claim: teams are shipping KMM in production but integration choices shape success. Concrete tools and outcomes matter — Kotlin Multiplatform Mobile used… | ||
| The Changing Grain of Kotlin | Nat Pryce, Duncan McGregor | 44m |
History of Kotlin from 1.0 to now with concrete effects on code style and tools: extension functions migrate from convenience to default, null safety nudges… | ||
| Gilded Rose Refactoring Kata | Dmitry Kandalov | 42m |
Kotlin live refactor of the Gilded Rose kata shows an actual incremental pathway: use IntelliJ intentions and plugins to collapse and invert conditionals… | ||
| Scale to Zero with Spring + GraalVM or WebAssembly | Sebastien Deleuze | 44m |
Spring Boot 3 compiles Kotlin/JVM apps to a GraalVM native image that starts in milliseconds, uses far less memory and yields tiny container layers; demo shows… | ||
| Level up on Kotlin Multiplatform | Pamela Hill | 43m |
Kotlin Multiplatform shows concrete patterns: a SpaceX demo app uses Ktor client with platform engines, content negotiation, websockets and Ktor-fit to call… | ||
| Kotlin & Functional Programming: pick the best, skip the rest | Urs Peter | 44m |
Argues that specific FP choices matter: Kotlin scope functions tame mutable APIs, Result and Either model errors but Either suits domain-level error handling… | ||
| You can do desktop too! | Victor Kropp | 37m |
Toolbox App migrates its business logic converted from C++ to Kotlin and replaces a browser JS UI with Compose Multiplatform, integrating coroutines, Skia… | ||
| Kotlin likes to Demoparty | Etienne Caron | 49m |
Kotlin code uses OpenRender to build a retro low‑res demo: layered fragment shaders (imported from ShaderToy) produce a gradient sky, scrolling bitmap text… | ||
| Kotlin Multiplatform Conversions at Android Jetpack Scale | Dustin Lam, James Ward | 42m |
Case study claims conversion of several Jetpack libraries to Kotlin Multiplatform at scale, with alpha releases and a Dice Roller sample; tools used include… | ||
| Meta-programming with KSP and Kotlin compiler plugins | Tadeas Kriz | 44m |
Claims that KSP runs noticeably faster than kapt (marketing says ~2×), that it has a stable processor API and Java source support, and that it only generates… | ||
| Practical Tips For Legacy Java Codebases Conversion Into Kotlin | Younes Charfaoui | 35m |
Claim: incremental migration with the j2k converter plus manual review yields idiomatic Kotlin rather than verbatim Java syntax. Tools and practices: add Java… | ||
| Supercharge your GraphQL with Ktor and GraalVM | Derek Kuc | 44m |
Live coding shows GraphQL Kotlin + Ktor serving a code-first schema, with schema generation via Reflections and explicit polymorphism mapping required for… | ||
| Adopting Kotlin at Google scale | Jeffrey van Gogh, John Pampuch | 45m |
Google reports over 8 million lines of Kotlin and describes concrete engineering work: ported samples and docs, changed ART to optimize Kotlin-generated… | ||
| Talk Six Impossible Things | Kevlin Henney | 01h 05m |
Six concrete impossibilities get examined with examples and code: IEEE 754 isn’t real numbers illustrated by floating point quirks, a 1983 Java binary‑search… | ||
| KotlinX Libraries | Anton Arhipov, Svetlana Isakova | 45m |
A multi‑platform chat app is built with Ktor websockets and Compose Multiplatform to demo concrete libraries: kotlinx.serialization compiler plugin generates… | ||
| Untangling Coroutine Testing | Márton Braun | 43m |
Shows concrete results with kotlinx.coroutines 1.6 testing APIs: use runTest, create a single test scheduler shared by all test dispatchers, prefer… | ||
| One language to build them all! | Paul Merlin, Rodrigo GARCIA DE OLIVEIRA | 43m |
Shows a working multi‑platform image generator called imaginate demo app with shared Kotlin domain code used from web, desktop and Android builds; build logic… | ||
| Spring + Kotlin = Modern + Reactive + Productive | Josh Long, James Ward | 44m |
Claim: Spring + Kotlin yields a modern reactive server that actually ships. Code uses coroutines with a Spring Data R2DBC coroutine CRUD repository, a… | ||
| Confetti: building a Kotlin Multiplatform conference app in 40min | John O'Reilly, Martin Bonnin | 43m |
Live coding produces a working Confetti app end to end: a graphql-kotlin backend serving Kotlinx‑serialized Kotlin models (including a custom LocalDateTime… | ||
| Compose Adoption at Pinterest: A Postmortem | Christina Lee | 18m |
Company tries Jetpack Compose for core Android UI and measures actual throughput and latency against a decade of hand-tuned views, finds performance regression… | ||
| Demystifying the Kotlin Compiler | Amanda Hinchman | 19m |
Explains how to go from meta programming as gateway to real compiler work by showing AST parsing, writing a compiler plugin and lifting the Compose hood… | ||
| Kotlin Native for CLI | Ryan Harter | 10m |
A native CLI is implemented for the image diffing library differ using Kotlin Native and Kotlin Multiplatform producing a standalone binary that avoids JVM… | ||
| Kotlin Multiplatform Contest Winners | Ahmet Burak Ilhan, Brian Kamau Mbigo, Maciej Procyk | 15m |
Three student teams build real apps: Do with Mobile matches volunteers to events and sends emails, a functioning prototype; a multiplayer Set clone shares… | ||
| Discover and Reuse UI Components in Compose with Showcase | Vinay Gaba | 24m |
Showcase collects all previews from a Jetpack Compose codebase, categorizes them into a component browser, and exposes APIs plus a JSON pipeline to S3 so… | ||
| Building Apps for Rural Users in Kenya | Harun Wangereka | 15m |
Apollo Agriculture ships two Android apps: an agent workflow app and a farmer checkout app that run reliably on ~1GB devices and in the field with intermittent… | ||
| From Fan to Developer Advocate - Interview | Pamela Hill | 13m |
Chronicles a path from enthusiast to JetBrains developer advocate while making concrete claims: Kotlin Multiplatform gains traction because of improving… | ||
| Interstellar Social Simulation with Kotlin | Kwun Hang Lai | 14m |
A playable interstellar social simulation and a reusable framework exist that model special relativity time delays (examples include multi-turn signal latency… | ||
| Unveiling Kotlin's Power: Complex Business Simulations & Beyond | Holger | 20m |
Claims that Kotlin outperforms scripting for large-scale, structured simulations, showing concrete gains in modeling fidelity and developer ergonomics… | ||
| nothing matches | ||