Data journalist / Investigative coder

I collect and analyze data at scale to uncover hidden patterns that build stories.

Work

Dataexpedities — journalistic hackathons with CBS data

Dataexpedities

A series of journalistic hackathons built around CBS open data, which I organize. Journalists, developers and CBS experts combine domain knowledge, reporting and tech to build tools on the spot and crack a story. The first hackathon — theme Housing & Energy — takes place 1 July 2026 at the CBS head office in The Hague.

organizing CBS data hackathon

With CBS, Open State Foundation, Momus & the Ministry of the Interior

Dataharvest / EIJC26, Mechelen

Investigative data pipelines with agentic AI

A hands-on workshop at Dataharvest / EIJC26 on building investigative data pipelines with agentic AI. The challenge: get 62 journalists productive with AI-assisted coding in 75 minutes. We spun up 62 VMs — each pre-loaded with the pi harness, OpenRouter keys, a custom skill, and a 7 GB Open Food Facts dataset — via a purpose-built orchestrator. Almost everyone hit the ground running and was generating data analyses within minutes.

VM orchestrator agentic AI OpenRouter

With Jeremy Crowlesmith · organized by the Dataharvest team — Dataharvest 2026

Lobby Lokaal coverage on NOS

Lobby Lokaal

The first systematic map of who lobbies local politics in the Netherlands. I did all the data work end to end — research setup, document ingestion from 59 municipalities, cleaning, and a two-pass LLM pipeline for extraction, entity resolution and analysis. Among the findings: the verbatim text of interest groups copied into more than a hundred party programmes. The work drove national coverage by NOS, FD, Trouw, NRC, RTV Rijnmond and RTV Oost, with more investigations and workshops planned.

research setup ingestion cleaning LLM analysis

Data work for Open State Foundation & NOS Bureau Regio

Polok election programmes database

Polok

An open dataset of 2,000+ election programmes from local political parties in the Netherlands, automatically collected by web scraping and quality-checked with AI. Browsable and filterable by party, municipality, quality and word count, with source documents and an API. It powers the text-overlap analysis behind Lobby Lokaal.

web scraping AI QC open data

2,266 programmes · gemeenteraadsverkiezingen 2026

Overvecht Praat Mee

Overvecht Praat Mee

A local-journalism platform that follows the issues in Utrecht's Overvecht district, pairing reporting with clear visualisations of council motions and votes. Design, data visualisation and technical development — from the dot-grid vote charts to the full build.

design data viz development

For Momus Media