Skip to main content

joel@ibm:~$ whoami

Joel Hanson

Software Engineer at IBM Event Streams — Kafka, Kubernetes operators, and AI tooling. Sharing what I build and learn.

~/projects/platform

Kafka, MCP, connectors, and open-source tooling.

~/posts

From Celery to Restate: Rethinking Async Tasks in Django

9 min
The Celery Question # For years, when someone asked “How do I handle background tasks in Django?”, the answer was almost always “Use Celery”. And for good reason. Celery is mature, battle-tested, and has solved async task processing for countless Django applications. It has extensive documentation, a large ecosystem of plugins, and most Django developers have at least some experience with it.
#Django #Celery #Restate #Python

Adding Durable Execution to Flask Applications with Restate

7 min
The Challenge of Reliable Background Operations # Building web applications with Flask is straightforward until you need to handle operations that can fail. Database operations timeout, external APIs become unavailable, and network connections drop. These failures are inevitable in production systems, yet handling them gracefully often requires significant engineering effort.
#Flask #Restate #Python #Durable Execution

~/projects/personal

Side apps and smaller tools.