Practical writing on Java, Spring, AI, and the craft of software engineering.

If you're building with Java and Spring (or trying to figure out where AI fits into your development workflow) you're in the right place. I write practical, beginner-friendly deep dives on Spring Boot, Spring AI, and software engineering fundamentals, collected here in chronological order.

Getting Started with Spring gRPC in Spring Boot 4.1
· 13 min read

Getting Started with Spring gRPC in Spring Boot 4.1

Build a gRPC server and client in Spring Boot 4.1 with Spring gRPC — using @GrpcService, protobuf, and the new starters from start.spring.io.

Spring Modulith Externalized Events: Publishing Events to Kafka
· 17 min read

Spring Modulith Externalized Events: Publishing Events to Kafka

Learn how to externalize Spring Modulith application events to Apache Kafka so other systems can react to changes happening inside your modular monolith.

Spring Boot + Kafka in 10 Minutes: Sending Your First Message
· 18 min read

Spring Boot + Kafka in 10 Minutes: Sending Your First Message

Produce and consume your first Apache Kafka message with Spring Boot. Covers Docker Compose, KafkaTemplate, @KafkaListener, and Embedded Kafka for tests.

Spring Modulith Durable Events: Reliable Event Processing Without a Message Broker
· 21 min read

Spring Modulith Durable Events: Reliable Event Processing Without a Message Broker

Learn how Spring Modulith's event publication registry persists and replays failed events across restarts, giving you a transactional outbox with no message broker.

Introduction to Spring Modulith: Building Modular Monoliths with Spring Boot
· 22 min read

Introduction to Spring Modulith: Building Modular Monoliths with Spring Boot

Learn how Spring Modulith helps you build a modular monolith in Spring Boot with enforced module boundaries, application events, and verified architecture.

Embabel MCP Servers and Tools for Agentic Flows on the JVM
· 16 min read

Embabel MCP Servers and Tools for Agentic Flows on the JVM

Add tools and MCP servers to your Embabel agents in Java. Build a blog writing agent that researches topics, calculates reading time, and generates front matter.

Embabel First Look: Building Agentic Flows on the JVM
· 21 min read

Embabel First Look: Building Agentic Flows on the JVM

A first look at Embabel, Rod Johnson's framework for building agentic AI flows on the JVM. Build a blog writing agent using goal-oriented action planning (GOAP).

GraphQL for Java Developers with Spring Boot
· 33 min read

GraphQL for Java Developers with Spring Boot

Build GraphQL APIs in Java with Spring Boot 4 and Spring for GraphQL. A free course covering schema-first design, batch loading, unions, and AOT repositories.

Spring, Build Me a Coding Agent
· 26 min read

Spring, Build Me a Coding Agent

Build an autonomous coding agent in Spring AI with the Spring AI Agent Utils library. This tutorial adds file system tools, shell commands, and agent skills.