Senior Data Scientist · Woonstad Rotterdam · since
Data Scientist,|Software & AI Engineer,|Product Owner
I like work that is half people, half code: turning questions from the business into models and software that run in production. Beyond that, I enjoy building and maintaining open-source projects, contributing to others', sharing knowledge, and keeping up with the latest developments in generative AI.
Computes a dwelling's social-housing points score and the maximum legal rent that follows from it, implementing the Huurcommissie policy books against the VERA sector data standard.
Passed Microsoft's exam on designing and building AI solutions on Azure: generative AI apps and agents, computer vision, natural language and document intelligence.
Owns the product backlog, works across teams, and is the first point of contact for the people inside and outside the organization who depend on the microservices.
+
Position
Senior Data Scientist, Woonstad Rotterdam
Fine-Tuning an LLM to Predict the Rental Value of a Dwelling
Fine-tuning a large language model to predict a dwelling's rental points, treating the points score as a regression task.
Passed Microsoft's exam on AI workloads on Azure: machine learning, computer vision, natural language processing, document intelligence and generative AI.
Looks up the heritage status of Dutch addresses against the Cultural Heritage Agency and Kadaster APIs — tens of thousands of objects at a time, asynchronously, and without an API key.
The heritage status of every addressable unit in the Dutch address register, resolved against the Cultural Heritage Agency and the Kadaster by a staged pipeline built on the monumenten package and published as one Parquet file, with the register behind each status named beside it.
A Streamlit app on Hugging Face Spaces that looks up a Dutch address and says whether it is a national monument, stands in a protected townscape or is a municipal monument, naming the register behind each answer.
A QLoRA fine-tune of Llama 3.1 8B, quantised to four bits, that reads a dwelling's description and answers with its woningwaardering points — regression handed to a language model rather than to a regressor.
A gradient-boosted regressor predicting a dwelling's woningwaardering points from six property features, tuned by randomised search under cross-validation and published with the predictor that loads it, so a dwelling can be scored without retraining.
A Gradio app on Hugging Face Spaces that runs the gradient-boosted model live: enter a dwelling's features and it returns the points it predicts, an interval around them, the maximum legal rent those points allow and the rent sector they put the dwelling in.
Descriptions of self-contained Rotterdam dwellings in a fixed format, each paired with the woningwaardering points Dutch law awards it — generated from the woningwaardering package's own evaluations and split for training.
Dwelling valuations from three housing corporations in one dataset — a collaboration set up between Beveland Wonen, Thuisvester and Woonstad Rotterdam, each publishing its own region — deduplicated per organisation and combined into shared train, validation and test splits.
Tools the standard data-science stack leaves out — plotting helpers, decorators and an estimator switch for scikit-learn pipelines — published on PyPI with documentation on Read the Docs.
A cross-validator for grouped time series where the groups hold unequal numbers of observations — contributed to scikit-lego and shipped in its 0.6.14 release.
Deploying Apache Airflow on Kubernetes, with its scheduler, metadata database and jobs running as resources of the cluster.
+
Position
Machine Learning Engineer, Xccelerated
Secondary tools
airflow, kubernetes
Continuous integration and delivery
2022-10
Building CI/CD pipelines that test, package and release code on every change, so a merge is the whole of a release.
+
Position
Machine Learning Engineer, Xccelerated
How to extract more information from categorical plots
Two ways to get more out of a categorical plot — counts beside the x-axis labels, and a strip plot laid over a box plot — both from extra-datascience-tools.
Building image classifiers in PyTorch and applying them to new images, from preparing the training data to judging where the model fails.
+
Position
Machine Learning Engineer, Xccelerated
Secondary tools
pytorch
Interpretable machine learning
2023-11
Explaining what a trained model does — partial dependence plots, SHAP values and LIME — so its predictions can be questioned rather than taken on trust.
+
Position
Machine Learning Engineer, Xccelerated
Secondary tools
shap, lime
It's a Mistake to Trust the Best Model of a GridSearchCV
Four cases in which the best model a GridSearchCV reports is not the best model to use.
API monitoring with Prometheus and Grafana across the team's services.
+
Positions
Data Scientist, Woonstad Rotterdam · Senior Data Scientist, Woonstad Rotterdam
Secondary tools
prometheus, grafana
CI/CD pipelines
2023-01 – present
CI/CD pipelines in Azure DevOps, from the first maintenance-team deployments through to the Microservices Team's release process.
+
Positions
Data Scientist, Woonstad Rotterdam · Senior Data Scientist, Woonstad Rotterdam
Secondary tools
azure-devops
Containerised APIs
2023-10 – present
Containerised APIs in FastAPI and Docker for the Microservices Team.
+
Positions
Data Scientist, Woonstad Rotterdam · Senior Data Scientist, Woonstad Rotterdam
DevContainers
2023-01 – present
DevContainers as the team's development environment, so a new repository is one clone away from running.
+
Positions
Data Scientist, Woonstad Rotterdam · Senior Data Scientist, Woonstad Rotterdam
Secondary tools
devcontainers
LLM fine-tuning and deployment
2023-01 – present
Building, fine-tuning and deploying large language models on Microsoft Foundry, as part of the generative-AI work group.
+
Positions
Data Scientist, Woonstad Rotterdam · Senior Data Scientist, Woonstad Rotterdam
Streamlit applications
2023-01 – present
Streamlit applications shipped in Docker containers, putting models in front of the people who act on them.
+
Positions
Data Scientist, Woonstad Rotterdam · Senior Data Scientist, Woonstad Rotterdam
Secondary tools
streamlit
Government of the Netherlands
Sep 2020 – Aug 202211 on the record
Rijks I-Trainee | Data
Sep 2020 – Aug 2022 · 2 years
On record
2
Kind
Discipline
Agile Scrum Foundation
2022-03
Certified in the foundations of Agile and Scrum: the Scrum roles, events and artifacts, and how an agile team plans and delivers its work.
+
Position
Rijks I-Trainee | Data, Government of the Netherlands
Rijks I-Traineeship
2020-09 – 2022-08
Completed the government's two-year data traineeship: three eight-month Rotations at three government organisations, alongside more than thirty training days in hard and soft skills.
+
Position
Rijks I-Trainee | Data, Government of the Netherlands
IT-Auditor & Data Scientist
placement · Netherlands Court of Audit·Jan 2022 – Aug 2022 · 8 months
On record
3
Kind
Discipline
Tools
Data science research in Python
2022-01 – 2022-08
Used Python for the data-science side of the Court of Audit's research — analysing the data an investigation rested on.
+
Position
IT-Auditor & Data Scientist, Netherlands Court of Audit
IT project audits
2022-01 – 2022-08
Researched government IT projects for the Court of Audit, including the investigation into DigiD and eHerkenning.
Natural-language processing and machine-learning models for the judiciary, built in an agile team.
+
Position
Data Scientist, IVO Rechtspraak
Spark on Azure Databricks
2021-05 – 2021-12
Preparing the data the models ran on with Spark, in the judiciary's Azure Databricks environment.
+
Position
Data Scientist, IVO Rechtspraak
Data Consultant
placement · Ministry of Economic Affairs and Climate Policy·Sep 2020 – Apr 2021 · 8 months
On record
3
Kind
Discipline
Data & AI community
2020-09 – 2021-04
Helped set up the ministry's Data & AI community, and organised the workshops that brought people into it.
+
Position
Data Consultant, Ministry of Economic Affairs and Climate Policy
Data advice for policy projects
2020-09 – 2021-04
Advising policy officers on projects with a data component — what the data could answer, and what it would take to get there.
+
Position
Data Consultant, Ministry of Economic Affairs and Climate Policy
Data warehouse test strategy
2020-09 – 2021-04
Wrote the test strategy for a data warehouse — how its loads and transformations would be checked before anyone relied on the numbers.
+
Position
Data Consultant, Ministry of Economic Affairs and Climate Policy
University of Groningen
Feb 2019 – Aug 2020, Sep 2014 – Aug 20177 on the record
Teaching Assistant, Introduction to Programming
Sep 2019 – Feb 2020 · 6 months
On record
2
Kind
Discipline
Tools
Introduction to Programming tutorials
2019-09 – 2020-02
Ran the tutorials for Introduction to Programming, a first course in Python, helping students build their programming skills.
+
Position
Teaching Assistant, Introduction to Programming, University of Groningen
Marking Introduction to Programming assignments
2019-09 – 2020-02
Checked and marked students' Python programming assignments for Introduction to Programming.
+
Position
Teaching Assistant, Introduction to Programming, University of Groningen
MSc Information Science
EducationFeb 2019 – Aug 2020 · 1 year 7 months
On record
2
Kind
Discipline
Tools
Lyrics-based author classification
2019-02 – 2020-08
Master thesis on telling which artist wrote a song's lyrics. Combined the classic authorship features with part-of-speech, phonetic and statistical ones; questioned whether transcribed punctuation can be trusted as evidence; and showed that adding only an artist's own verses from collaborations beats adding whole songs. The final support vector machines reached macro-F1 scores of 0.91 and 0.79 on two eight-artist data sets.
Graduated cum laude from the Master in Information Science at the University of Groningen.
+
Position
MSc Information Science, University of Groningen
Teaching Assistant, Advanced Programming
Feb 2019 – Apr 2019 · 3 months
On record
2
Kind
Discipline
Tools
Advanced Programming tutorials
2019-02 – 2019-04
Ran the tutorials for Advanced Programming, a Python course, helping students take their programming skills further.
+
Position
Teaching Assistant, Advanced Programming, University of Groningen
Marking Advanced Programming assignments
2019-02 – 2019-04
Checked and marked students' Python programming assignments for Advanced Programming.
+
Position
Teaching Assistant, Advanced Programming, University of Groningen
BSc Information Science
EducationSep 2014 – Aug 2017 · 3 years
On record
1
Kind
Discipline
Tools
Predicting political preference from Twitter
2017-03 – 2017-08
Bachelor thesis classifying Twitter users to one of four parties in the 2017 Dutch general election — CDA, D66, GroenLinks or PVV — by the words they use, the accounts they follow and their hashtags. Collected tweets and followed accounts for 4,000 users through the Twitter API, then compared Naive Bayes with support vector machines, reaching up to 90% accuracy against a 25% baseline.