Kotlin

Integration Testing on the JVM: My Ideal Process, End to End
Master robust integration testing for JVM web services. Learn how to simulate databases, Kafka, and LLMs with Testcontainers and Mokksy for fast, parallel …

Javable: generate Java-friendly wrappers for Kotlin with KSP
Javable is a KSP2 processor that generates Java-friendly wrappers for Kotlin classes, turning suspend functions into CompletableFuture, Flow into Stream, and …

kotlinx-schema: Three Ways to Generate JSON Schemas from Kotlin Code
Every time you rename a Kotlin function parameter, the hand-written JSON schema your LLM reads is wrong — and it fails silently. kotlinx-schema derives the …

Large files in Kotlin: causes, trade-offs, and practical remedies
Kotlin encourages grouping related code in a single file, which is useful — until files grow past 1,000 lines. This article explores why that happens, how it …

Mokksy: a mock server that actually streams — and why your AI app needs integration tests
Why unit tests alone won’t save your LLM application in production, and how Mokksy — a Kotlin mock server with true SSE and streaming support — fills the …
Introducing Kotlinx-schema: generate JSON Schema from Kotlin types and functions
Generate JSON Schema for Kotlin Multiplatform models and API functions, so your schema stays in sync with your code.
Weekend hack: Kotlin Symbol Processing Maven plugin
KSP only works with Gradle, leaving Maven users out in the cold. I built ksp-maven-plugin to fix that - minimal setup, auto-discovers processors, integrates …

Kotlin extensions for LangChain4j
Discover Kotlin extensions for LangChain4j designed to transform the synchronous LangChain4j API into a modern, non-blocking experience with Kotlin Coroutines. …
Running Testcontainers on dynamic ports
Running integration tests locally with Docker can be challenging when fixed ports are unavailable due to conflicts. This issue is compounded in shared CI …

Kotlin Playground shortcode for Hugo
Kotlin Playground is HTML component which creates Kotlin-aware editors capable of running code from HTML block elements. Here I explain how to embed runnable …