Building AI Agents in Kotlin – Part 2: A Deeper Dive Into Tools
How do AI agents really use tools? In part two of our series, we extend our minimal coding agent with a custom ExecuteShellCommandTool, letting it run code, observe failures, and iterate with real feedback.
Dive deep →
What Developers Really Mean By "Bad" Code
In Qodana's latest opinion piece, the team shares attributes that make code hard to read, scale, maintain, and secure.
Read the article →
The Ultimate Guide to Successfully Adopting Kotlin in a Java-Dominated Environment
Adopting Kotlin in a Java world is not about flipping a switch or rewriting everything “the right way”. It’s about people, timing, risk, and trust. In this post, we’ll tie the series together and provide you with a single file you can hand to any engineer, tech lead, or manager to ensure your Kotlin adoption is done right.
Learn more →