Work with me
Nine years shipping machine learning at Booking.com, and three years of my own research on top. Five things I'm glad to be called about. I'm also looking for a role.
Start a Conversation →AI/ML Engineering
Getting it to run every day, not just once
The demo is the easy part. The hard part is the year after, when it has to run every day, cost roughly what you expected, and be fixable at 2am by someone who didn't build it. That's most of what I've done for nine years.
- RAG that holds up on a real corpus: chunking, retrieval quality, and knowing when to stop retrieving
- LLM product architecture, from prompt design through fine-tuning to evaluation
- Agent systems: running lots of them, keeping them apart, and stopping them reporting success when nothing happened
- ML pipelines, model serving, experimentation frameworks
- Working out where a model is the wrong tool, which is usually the most useful conversation
Sovereign AI Infrastructure
Running models on hardware you own
I train models and serve 30B-class inference on my own machines. Control plane, GPU workers on a private network, models served locally, search in my own database. I also found and fixed the auth and SSRF holes in the gateway I use for it. So I can tell you which of your workloads will actually move off a hosted API, what each one costs to move, and which ones you should leave where they are.
- Self-hosted model serving: sizing, quantisation, and what fits on hardware you already have
- Running GPUs in different places as one pool
- Fine-tuning small models to do a specific job a large hosted one is overqualified for
- Building for the EU AI Act and GDPR up front, so it isn't paperwork later
- Real cost comparison against staying hosted, including when staying hosted is right
AI Evaluation & Governance
Tests a model can't talk its way through
A model can hand you a clean, confident answer without doing any of the work, and most scorers will mark it correct. I build tests where that isn't possible. Mine found two bugs that had been quietly inflating its own scores. A test you can't fail is not a test.
- Task-based evaluation harnesses for agents and tool-use, not just output scoring
- Working out what a model was trained on, including whether it saw your held-out data
- Locking the scoring rules before a run, so nobody moves them afterwards
- Deciding what to publish and what to hold back, and writing down why
- Reading a test suite you already have and finding where it flatters itself
Studying for the IAPP AI governance certificate.
Discuss evaluation →Creative Installations & Live AV
Things that have to work in front of an audience
Audiovisual work for festivals, events and installations. I build the layer underneath. Depth cameras, lining a projector up with a camera, live segmentation, biosignal input, and rigs that recover when something dies mid-set.
- Projection mapping and structured-light calibration, including Kinect on platforms with no vendor driver
- Audio-reactive and sensor-driven visuals in TouchDesigner, Unreal Engine and Three.js
- Biosignal and gesture input driving sound and image in real time
- Live rigs: MIDI and OSC clocking, low latency, and a way back when something fails
- Technical direction for installation work
Workshops & Facilitation
Fifteen decks and a written curriculum. No prior code needed.
I teach creative coding to people who came to it through music or art, and to people who write software for a living and stopped enjoying it. The material is a graded path. You start by making a sound and go from there.
- Live coding with Sonic Pi: melody first, then rhythm, then structure
- Ableton and Sonic Pi together: MIDI, OSC and clock sync, ending with participants performing
- Generative art and algorithmic thinking for non-programmers
- TouchDesigner and visual programming
- Attention and improvisation, which is the work underneath performing without a script
How I work
A call first
Thirty minutes to work out the problem and whether I'm the right person.
Scoped and time-boxed
Every job has an end date and something it's meant to produce. I don't do open-ended retainers. They're bad for you and they make me lazy.
Hands on the keyboard
I write code, review designs and sit in planning with your team.
Handover, then out
Your team owns what we build. I write down why we made each decision, teach whatever needs teaching, and leave.
Ready to talk?
Tell me what you're building and what's in the way.
Start a Conversation →