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.

Claude Code Skills for Podcast Automation

AI/

Claude Code Skills for Podcast Automation

Use Claude Code skills for podcast automation: edit audio, create show notes, prepare a Transistor upload, and open a spring.io PR after the episode is live.

Read article 12 min read
Java Structured Concurrency in JDK 27: A Practical Example
· 23 min read

Java Structured Concurrency in JDK 27: A Practical Example

Learn Java structured concurrency in JDK 27 with a runnable example comparing sequential calls, virtual threads, and StructuredTaskScope failure handling.

Getting Started with Jev in Java and Spring Boot
· 28 min read

Getting Started with Jev in Java and Spring Boot

Call TypeSafe Jev from Java and Spring Boot with RestClient. Build a complete support-ticket example with typed questions, Java records, and a mocked API test.

I Built My Own Content OS With Claude Code
· 10 min read

I Built My Own Content OS With Claude Code

How I built Content OS with Claude Code and Spring Boot to manage videos, blog posts, and newsletters, and what changes when you build software for one user.

ColdFusion Inside Spring Boot (One Property)
· 16 min read

ColdFusion Inside Spring Boot (One Property)

Render real ColdFusion .cfm templates inside a Spring Boot app using the BoxLang Spring Boot starter and one undocumented boxlang.suffix property.

The 5 Steps of AI Adoption: Which One Are You On?
· 12 min read

The 5 Steps of AI Adoption: Which One Are You On?

Learn the 5 steps of AI adoption mapped out by Boris Cherny, creator of Claude Code, and how to move from copy-pasting code to supervised autonomy.

Can You Trust AI-Generated Code?
· 13 min read

Can You Trust AI-Generated Code?

Can you trust AI-generated code? It depends on what you already know. A look at why AI code feels great in unfamiliar stacks and how to verify it.

Upgrading Dependencies with AI: A Practical Guide
· 11 min read

Upgrading Dependencies with AI: A Practical Guide

Learn a practical workflow for upgrading dependencies with AI, using scope, scale, and stakes to decide when to reach for an LLM to patch your projects.

Spring AI: Build Real Guardrails that hold
· 21 min read

Spring AI: Build Real Guardrails that hold

Learn how to build Spring AI guardrails with SafeGuardAdvisor, custom PII masking, and output rails to stop prompt injection and data leaks.

Docker Compose for Java Developers, Explained
· 17 min read

Docker Compose for Java Developers, Explained

Learn what that docker-compose.yml in every Java repo actually does. Spin up Postgres with one command and run any project you clone with zero setup.