
A dynamic-des simulation plays a mobile game and sends each score to Kafka. Four Flink SQL jobs keep four top 10 leaderboards up to date in PostgreSQL, and a NiceGUI dashboard shows them as they change.

A dynamic-des simulation plays a mobile game and sends each score to Kafka. Four Flink SQL jobs keep four top 10 leaderboards up to date in PostgreSQL, and a NiceGUI dashboard shows them as they change.

A dynamic-des simulation runs an online shop on PostgreSQL. Debezium streams every insert and update to Kafka, and an S3 sink saves the changes as files, all on a local odctl stack.

Introducing Benchtop, a collection of small, hands-on demos for data engineering, stream processing, machine learning, AI engineering and MLOps. Each one runs locally on the odctl stack from a fresh clone, and explains the ideas behind the system it builds.

I am teaching myself MLOps with Jim Dowling's book on feature stores, and rebuilding its three hands-on projects with open-source tools on a local odctl stack.

A local open source proof of concept that puts a semantic layer between a language model and an Iceberg lakehouse, using Strands, WrenAI and Trino.

Dynamic DES v0.11.1 adds a declarative SimulationContext API, native Postgres and Redis ingress and egress connectors, and broader object storage.

odctl is a CLI on PyPI that launches Kafka, Flink, Spark, Trino, Iceberg, Airflow and an MLOps and observability suite as one local stack.

Dynamic DES v0.8.1 adds data lake integration, so one SimPy codebase writes batch Parquet data for ML training and streams live Kafka events.

A comprehensive walkthrough from my session at Current London 2026 on capturing and visualizing data lineage across a production-style data stack.

Turn a static model into a synchronized forecasting engine with dynamic-des, using the Switchboard pattern, mutable resources and dynamic topic routing.