Architecture for clarity and sustainability.
Essays on Domain-Driven Design, Kotlin, and Spring Boot — the craft of building systems that stay simple as they grow.
Writing
Building AI Agents on the JVM
A pragmatic walk-through of building a tool-calling AI agent on the JVM with Koog: wiring tools, keeping context, and adding guardrails so it doesn't hallucinate business decisions.
Getting Free Outbox with Spring Modulith
Use Spring Modulith’s event publication registry as an outbox for internal events in a modular monolith.
Crafting Gorgeous PDFs using Chromium and Playwright
Generate modern, high‑quality PDFs in Spring Boot using Chromium and Playwright, with setup, performance tips, and Docker notes.
Spring Boot and the Holy GraalVM
A pragmatic look at Spring Boot 3 native images: compile time, size, startup, memory, and when AOT beats JIT (and when it doesn’t).
Managing Spring Boot properties after version 2.4
How Spring Boot 2.4+ resolves config and how to structure multi‑module properties with spring.config.import, profiles, and tests.
Cost of layered architecture
Benchmarking the runtime and memory overhead of classic layered architecture on the JVM, with JIT warm‑up notes and charts.