Skip to main content

joel@ibm:~$ whoami

Joel Hanson

Software engineer at IBM Event Streams. Kafka, Kubernetes operators, and AI tooling. I write about what I build and learn.

~/pinned

Configuring Kafka Connector with Docker: A Step-by-Step Guide

6 min
In this tutorial, we’ll walk through the process of setting up a Kafka connector using Docker and docker-compose.yml. We’ll focus on configuring a file connector, which is useful for reading data from files and writing data to files using Kafka.

Convert Your Django DRF Project to MCP in 5 Minutes

13 min
The Problem: When APIs Meet AI Assistants # A few weeks ago, I was experimenting with Model Context Protocol (MCP) for a Kafka integration project. The experience was eye-opening - being able to interact with complex systems through natural language felt like a glimpse into the future of development workflows.
#Django #MCP #AI #API

Setting Up a Kafka Cluster Without Zookeeper Using Docker

4 min
Introduction # In this post, we will walk through the process of setting up an Apache Kafka cluster without using Zookeeper, leveraging Kafka’s KRaft mode for metadata management. Kafka no longer requires a Zookeeper instance, simplifying the cluster setup. We will use Docker to deploy this Kafka cluster with the latest version of Kafka.

Building an MCP Server for Your Kafka Cluster

5 min
A step‑by‑step guide to using FastMCP and the MCP protocol to expose Kafka operations (topic management, produce/consume, troubleshooting) as LLM‑accessible tools.
#Kafka #MCP #FastMCP #Python

~/posts

The Connector That Kept Retrying and Never Said So

3 min
A customer reported that their Kafka Connect MQ Sink connector looked completely healthy — no errors on the connector CR, no failed tasks — but no messages were reaching MQ. This had been going on for hours.

~/series

Reading paths for Kafka Connect and MCP.

~/projects/platform

Kafka, MCP, connectors, and related open source work.

~/projects/personal

Side apps and smaller tools.

~/discoveries

Short finds: snippets, demos, and link-outs.

[media]

Wayfare: trip context over MCP and OAuth

Travel bucket list and savings tracker. Same trip data in Claude, Cursor, and ChatGPT, per user via OAuth.

Built partly to learn MCP OAuth and how to ship a secure, production-ready MCP server. Connect once, and each assistant only sees your trips and fund.