SubsidieMatch
SubsidieMatch reads Dutch contractor quotes, extracts equipment with Claude Vision, matches against 7,729 RVO subsidy codes, and returns exact meldcodes and amounts in about 30 seconds.
· Solo founder
· Live product
· Paid usage
- ISDEwarmtepomp€ 0
- ISDEisolatie€ 0
- ISDEglas€ 0
Totaal€ 0
8 meldcodes · 3 regelingen · ~30s
PDF Vision Extraction
Same PDF must always return same matches. Solved with SHA-256 content hashing + version-pinned prompts. Bit-for-bit reproducible.
Subsidy Matching
7,729 meldcodes, hundreds of brands. Predicted € 7,172 on a real quote; RVO paid € 7,856. 91.3% accuracy on first production run.
WBSO Quickscan
Classifies R&D activities against WBSO criteria with section-level citations from the RVO handleiding. 3 of 4 activities were correctly classified as eligible on the first real client document.
Arbitrage Engine
Found € 4,664 in missed subsidy on a single offerte by detecting a kozijn + triple glass combination the basic matcher couldn't see.
Next.js 14 · FastAPI · Claude · Instructor · Pydantic v2 · 7,729 subsidy codes (JSON + SQLite cache)
Supabase Auth · RLS · Stripe · Railway · Vercel · TransIP
Valk AI
AI inside a Dutch webshop
Valk AI is my one-person company: AI agents and integrations for small businesses, built on top of and in between the systems they already run. For my first client, a Dutch webshop, it started as an AI consult. Now I’m building what they chose: a customer-service agent and a platform for their orders and returns.
· Founder, Valk AI
· Client work
· In build
1 concept wacht op jou · verstuurt nooit zelf
AI consult
A day on site with the people who do the work, then a written report on where AI pays back, and where a plain integration or nothing at all is the better answer. Two proposals are now being built.
Customer-service agent
Reads each new mail, gives it a category and leaves a draft answer in their own Outlook. The team edits and approves its knowledge themselves. It never sends on its own.
Orders and returns
Puts webshop orders into Exact Online, follows every return until it’s back, counts the boxes at the warehouse scan, and proposes an invoice or credit note when something doesn’t add up.
Built to be trusted
Only one background worker writes to Exact; the screens never do. Real customer mail reaches Claude only through AWS Bedrock in the EU. Sign-in with Microsoft.
Python · Starlette · Claude on AWS Bedrock (EU) · SQLite · Exact Online API · Shopify GraphQL
Sendcloud · Microsoft Graph · Entra ID · Hetzner
Selected work
Live · 2025
Weekly autonomous agent that curates roughly six AI news items into a structured email digest. Runs every Sunday on GitHub Actions with no infrastructure to maintain.
Agentic AIClaude APIGitHub Actions
Live · 2025
RAG over Dutch healthcare-policy PDFs. Ingests source documents, answers natural-language questions, and cites the exact clause it pulled from. Built around grounded retrieval and chunk-level provenance.
RAGVector SearchHealthcare
WIP · 2026
Extracts trade calls from YouTube trader content (rules + LLM), backtests each call against market data, and scores creators on call reliability over rolling 12-month windows.
LLM ExtractionBacktestingQuant
Experience
2026 - Now
Founder · Valk AI
AI agents and integrations for small businesses, built into the systems they already run. First client: a Dutch webshop, from an AI consult to a customer-service agent and a platform for orders and returns on Exact Online, Shopify and Sendcloud.
2025 - Now
Founder & sole engineer · SubsidieMatch
Building a paid B2B/B2C SaaS end to end: FastAPI backend, Next.js 14 frontend, Claude-based PDF extraction, 7,729-code matcher, Stripe billing, Supabase auth + RLS, Railway, and Vercel. Live at subsidiematch.com.
2026 - Now
Co-founder & engineer · inklaretaal
Co-building a personalized Dutch AI news and learning product with Bor Ipema — now live with paying subscribers. I built the Next.js 16 product and Stripe subscription flows plus a Python generation worker: an agentic Claude + web-search gather stage feeding per-reader, prompt-cached personalization across 15 professions and 3 levels, with idempotent weekly delivery. Stack: Supabase, Stripe, Resend, Vercel. Live at inklaretaal.nl.
May 2025 - Now
Data Scientist & AI Engineer · ValueCare
Building applied AI for Dutch mental healthcare, including OQ-45 outcome prediction, client-churn modelling, and speaker-diarisation pipelines for therapy-session analysis. Production data, real clinicians, real privacy constraints.
2023 - 2024
AI Consultant & Developer · AI Business Academy
Implemented AI models for process optimisation and advised SMB clients on where AI actually pays back.
Jan 2024
ML Consultant · Gemeente Berg en Dal
Built predictive models for public notifications and municipal incident forecasting.
Research & Education
BSc Thesis · 2025
Systematic analysis of the gLocal transformation for human-model representational alignment.
UvA · 2022 - 2025
BSc Artificial Intelligence
University of Amsterdam, with a focus on machine learning, NLP, and representational alignment.
Stack
Languages — Python · TypeScript · SQL
AI & LLM — Anthropic SDK (Claude) · AWS Bedrock · agentic tool-use + web search · structured output (Instructor, forced tool-calls) · prompt caching · RAG (BM25) · vision extraction
ML & Data — scikit-learn · PyTorch · Pandas · NumPy · predictive modeling · model evaluation
Backend — FastAPI · Starlette · Python workers · Pydantic v2 · REST APIs
Frontend — Next.js 14 / 16 · React 19 · TypeScript · Tailwind · Framer Motion
Integrations — Exact Online · Shopify · Sendcloud · Microsoft Graph & Entra ID · Stripe Billing · Resend
Data & infra — Supabase (Postgres · auth · RLS) · Vercel · Railway · Hetzner · Supabase pg_cron
Testing & practice — Vitest · Playwright · pytest · GitHub Actions CI · Sentry · idempotent pipelines · reproducible LLM extraction
Other versions
This page is calm on purpose.
The same work, rebuilt four more times. Each version is its own site.
Big type in the dark. The work plays as you scroll.
Bright tiles on cobalt, full of things to poke.
One giant poster that changes colour as you scroll.
The page as a piece of hardware.
Stay in the loop
Occasional notes when I ship something or publish a useful technical breakdown. Low frequency, easy to unsubscribe.