Teaches AI agents to write idiomatic Kotlin (data classes, val, scope fns, Kotest) AND to make the right stack choices on JVM: Kotlin 2.3 + JDK 21 + Gradle Kotlin DSL, Ktor for HTTP, kotlinx-coroutines, DJL for ML inference, JavaCV for vision, Koog for AI agent orchestration.
95
95%
Does it follow best practices?
Impact
95%
1.23xAverage score across 10 eval scenarios
Passed
No known issues
io.ktor:ktor-client-core + ktor-client-cio (CIO is the coroutine-native engine; pick it unless you have a specific reason to use Apache or OkHttp)io.ktor:ktor-server-core + ktor-server-cio for embedded servers; ktor-server-netty when you need Netty's tuning surfaceclient.get(...) / client.post(...) are suspend functions. They compose with Flow and withContext(Dispatchers.IO) naturally.HttpClient(CIO) allocation leaks under load.parameter("key", value) instead of string-concatenating the URL — type-safe and URL-encoded for free.Runtime.getRuntime().addShutdownHook(Thread { client.close() }).ContentNegotiation + kotlinx-serialization-json rather than hand-parsing response bodies.java.net.HttpURLConnection or URL("…").openStream() in new code — pre-coroutine, no async, painful headersrequests-style synchronous Apache HttpClient in a coroutine context — blocks the dispatcher threadRestTemplate + new Ktor side-by-side)