Projects & papers.
Eight pieces of work across the four lanes: production systems, shipped products, and the research they make possible.
Connectivity & walkability scoring
A project I led at KR&A: a connectivity and walkability score computed live for any coordinate in 38 countries across Europe, North America and APAC, with a precomputed 250 m grid as fallback, working with TBs of data and 100s of data sources. It began as one client's question and shipped as a production API, now integrated into a.s.r. real assets investment partners' PULSE platform.
Monthly house-price index · 13 EU countries
A multi-year study at KR&A where I was technical lead: a web-scraping pipeline across 13 EU countries feeding log-price hedonic regressions into monthly indices, tested as disaggregation indicators for Eurostat's quarterly HPIs; the work is officially published by Eurostat as a statistical working paper.
Gentrification agent-based model
My MSc Thesis research on gentrification, where I built an agent-based model of neighbourhood change: households interact with neighborhoods in the treated cities Amsterdam, Utrecht and Milan based on their own income, the affordability of the neighborhood and the attractiveness, based on elements such as streetview imagery 'beauty' classification, GTFS connectivity, greenery and neighborhood sentiment online. A two-tenure social-housing extension is in progress.
Research pipelines as production systems
My research projects run on Airflow 3 data pipelines that are hosted in this project. It can scale from a laptop to a multi-machine CeleryExecutor cluster. This project was built with idempotency guards, custom operators and agentic monitoring.
LanguageBuddy: AI language tutor
A self-hosted AI language tutor for Dutch, Italian and Spanish, built on language learning research that includes a chat or voice-call LLM tutor and SM-2 repetition. Every mistake is captured into a spaced-repetition queue that drives the next day's exercises and uses a real-news scraper for reading learning. Follows the CEFR framework with 6,200+ vocabulary entries.
SponsoredBye: sponsor-segment detection
A text-only sponsor-skipper for YouTube: sentence-T5 embeddings feed a BiLSTM sequence tagger that flags sponsored sentences and maps them back to timestamps, cutting segmentation error to 16% WindowDiff against a 99% naive baseline.
FishFinder: photo-to-species ID
A Flutter app that identifies 63 Dutch fish species from a photo, fully on-device, and fills a Pokédex-style FishDex as you catch them. The training pipeline: ~3,000 hand-annotated photos masked with Segment Anything Model, then a fine-tuned ResNet50 (a 90 MB full model) compressed to an 8.8 MB TFLite model for on-device use.
Predicting flooding risk from local features
My BSc thesis, looking at whether flood risk can be explained by local features instead of a black-box hydrodynamic simulation. Collected 33 features across ~45,000 European locations, such as ground imperviousness, ground type and distance to river, across 100GB+ of data and ran a Random Forest to find their relation. Findings: 97% on the binary 20-year flood question, with surrounding imperviousness and relative height doing most of the work.
Papers.
Working papers, preprints and method write-ups on research in urban dynamics, network analysis, geospatial methods and data science.