Building LLM Apps in Java with LangChain4j

Yesterday I gave a talk titled “Building LLM Apps in Java with LangChain4j.” The core idea was simple: building LLM applications is not mainly about writing clever prompts. It is about applying the same engineering discipline we already use in Java systems. The talk followed the staged evolution of a Spring Boot store assistant. It … Read more

AI-Assisted Java Development: An 18-Part Series

I’m writing a series on what it actually takes to use AI well in Java development. Not the hype version. The engineering version. This series covers the full arc: how AI is changing the economics of software work, how it reshapes workflows and prompting, how to design agents and evaluate them properly, and how to … Read more

Speaking at GeeCON 2025: A Memorable KrakĂłw Experience

I had the pleasure of attending GeeCON 2025 in KrakĂłw—my very first time at the conference. While the sessions were excellent, what truly stood out was the strong sense of community that made the experience special. I was also lucky to have some great conversations beyond the tech. I had a wonderful discussion with Shaaf, … Read more

Chat with Your Knowledge Base: A Hands-On Java & LangChain4j Guide

Disclaimer: This article details an experimental project built for learning and demonstration purposes. The implementation described is not intended as a production-grade solution. Some parts of the code were generated using JetBrains’ AI Agent, Junie. Large Language Models (LLMs) like GPT-4, Llama, and Gemini have revolutionized how we interact with information. However, their knowledge is … Read more

Building FormPilot: My Journey Creating an AI-Powered Form Filler with RAG, LangChain4j, and Ollama

Disclaimer: This article details an experimental project built for learning and demonstration purposes. The implementation described is not intended as production-grade solution. Some parts of the code were generated using JetBrains’ AI Agent, Junie. Have you ever found yourself filling out the same information on web forms over and over again? Name, email, address, phone … Read more

A Journey to DevNexus: Challenges, Friendships, and Java

I love participating in conferences—you get to meet so many industry and thought leaders in person, hang out with them, and build lasting bonds. That’s why I had always wanted to attend DevNexus, which isn’t far from where I live. Despite receiving an invitation, my trip kept getting delayed due to visa complications. But finally, … Read more

SummarizingTokenWindowChatMemory: Enhancing LLM’s Conversations with Efficient Summarization

LLM chat models have become an integral part of many applications today. We are all experimenting and exploring the best ways to utilize them effectively. For Java developers, LangChain4j has been an incredible tool in this journey. By design, most available APIs, such as ChatGPT and Gemini, operate in a fire-and-forget mode. They don’t retain … Read more