City-scale digital twin of 's-Hertogenbosch
A streaming lakehouse that fuses building registry, traffic, weather and air sensors into one live 3D model of the city.

01 — The problem
City data lived in separate systems with different formats, refresh rates and keys. Answering one question about one street meant opening four tools and reconciling them by hand.
02 — What I built
- ✦Event-driven ingestion with Kafka for live feeds and scheduled batch loads for registry data
- ✦Bronze → silver → gold lakehouse on Spark and Delta Lake, with schema enforcement and data quality checks
- ✦A geospatial city model that joins every source to a building ID
- ✦Low-latency serving APIs feeding a browser-based 3D viewer (CesiumJS)
03 — What changed
Everything about a building on one screen, refreshed live. Shortlisted for the KIVI Award, and the platform the forecasting and AI work runs on.
04 — Tools
KafkaSparkDelta LakePythonPostGISCesiumJSTypeScriptDocker
Next project
Agricultural data platform on Google Cloud