About this site#
Notes on software engineering, streaming systems, and AI tooling. Mostly Kafka, MCP, and the messy parts of shipping real systems.
About me#
I’m Joel Hanson, a software engineer at IBM on Event Streams (Kafka on Kubernetes and OpenShift). Previously an AI engineer at impress.ai. Open to global and remote roles.
Day to day I work on event streaming and Kafka Connect, Kubernetes operators and platform reliability, and AI tooling around MCP and RAG. The through-line is making these systems something you can actually run in production.
Experience#
IBM, Event Streams (2021-present)
Schema registry (Apicurio V2→V3 migration lead), Connectivity Pack and MQ source/sink connectors (exactly-once, DLQ, heartbeats), Event Streams operator and platform work, Keycloak SSO, Go SCRAM CLI, plus mentoring engineers and supporting customers.
impress.ai (2018-2021)
AI and platform engineering. Built an essay ML evaluation platform that cut marking time from ~470 hours to ~2 hours. Stack was Django, Celery, Redis, and AWS, later moved to Docker/EKS.
Earlier: full-stack web and CRM work at Travidux and Mobishala.
Selected impact#
- Led Apicurio Registry V2→V3 across multiple repos with hybrid auth, zero data loss, and no customer service interruption. This was on the critical path for Event Streams v12.1.0.
- Connectivity Pack / MQ connectors: poison-message isolation (ErrantRecordReporter, DLQ), idle-poll heartbeats, and exactly-once under reconnect
- Eureka Incite Gold: ACL-aware RAG over Box Notes (retrieval filtered by document permissions)
- Open source: ContextLayer, Kafka MCP Server, and SSE→Kafka connector (adopted in Event Streams demo materials)
Skills#
- Languages: Python, Java, Go, JavaScript, TypeScript, SQL, Bash
- Distributed systems: Apache Kafka, Kafka Connect, Kubernetes operators, event-driven architectures, Apicurio Registry
- Backend & data: Django, DRF, Celery, Redis, PostgreSQL, Elasticsearch, REST APIs, IBM MQ
- Cloud & DevOps: AWS (EC2, S3, SQS, EKS), Docker, OpenShift, Jenkins, GitLab CI, Keycloak, IBM Cloud
- Frontend: React, Angular, Next.js
- AI tooling: MCP, RAG, FastAPI
Open source#
- Apicurio Registry: V2→V3 migration lead for Event Streams; upstream HTTP MCP + OAuth PR in progress
- ibm-messaging: maintainer-level work on MQ Kafka source/sink, XML converter, kafka-java-vertx-starter
- Aiven JDBC connector: contributions outside the IBM ecosystem
- Personal OSS: ContextLayer, kafka-mcp-server, sse-kafka-connector
Credentials#
Contact#
- Email: joelhanson025 [at] gmail.com
- LinkedIn: joel-hanson
- GitHub: Joel-hanson
- Medium: joel-hanson.medium.com
