From
client question
to production system.
I am Ian. I build and run production data systems for pension funds, real estate investors and national statistical offices. I take an open client question, turn it into a method and ship the system that answers it.
Focus Areas
Head of Data in practice: building the data infrastructure, setting up the systems underneath, owning the client side and running the analytics on top.
Data Engineering
Building and maintaining data pipelines and efficient storage, such as three years of weekly collection/scraping across 8 different sources for a real estate fund with €10B AuM and then structuring, cleaning and deduplicating this data automatically.
System Architecture
Setting up the platform underneath: server instances, PostGIS, distributed Iceberg compute and data processing servers, networking/VPN, APIs and security. Example: 8 distributed servers run as the standing production infrastructure to handle loads of complex data products.
Client & Stakeholder Work
The client side of the job: methodology reviews with Eurostat and CBS statisticians, presentations to portfolio managers, and long-run client relationships with pension funds, real estate investors and national statistical offices. Open questions come in; production APIs go out.
Analytics & ML
The analysis layer on top: nowcasting, ABM simulations, regressions, statistical methods and applied ML that ships: from hedonic price models, to image classification to statistically sound time series analyses.
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.
Methods, data and results behind the projects. All papers →

