Articles

Contract-first vs. code-first development: why API contracts matter from day one
Discover why starting with API contracts first—not code—leads to clearer, more maintainable microservices. Learn the differences between contract-first and …

From monoliths to AI proxies: real-world strategy for testing and evolving LLM integrations
Integrating Large Language Models (LLMs) into production systems presents unique architectural, testing, and operational challenges. This article shares …

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. …

Keeping your software healthy: the critical role of dependency updates
Discover best practices for effective dependency management in software development and learn strategies to keep your projects secure, efficient, and free of …

Spring Boot starters
This post discusses Spring Boot Starters and their importance to developers, who want to make the setup and configuration of Spring Boot applications a whole …

Code review best practices
Code review is a crucial practice in software development. One can design and write great software, but we are humans after all. And all humans make mistakes, …
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 …

Spring Boot configuration best practices
Spring Boot comes with very neat configuration mechanism. Default application configuration is defined in one configuration file and environment specific …

What happens when you split systems into many microservices
Moving from monolithic applications into microservices is current trend in software design. Let’s identify some pros and cons of both architectures and …