Hi, I'm Vincent. I design and build software, and I love making things, with AI and without: games, stories, drawings, odd little experiments. I write about what I learn along the way. When I'm not at a screen, I'm up a mountain, on a river, or losing an evening to a board game.
This island is where it all ends up. Most things here have a story, and some only show up at the right hour. Pull up a log.
I also build things like this for other people: interactive websites, 3D, AI and games.Here's how that works.
Want to talk about AI, a game idea or a good river? You'll find me here:
Every cairn marks a stretch of the climb. The summit is where I am now.
The student years · 2007 – 2014 · Utrecht · Arnhem · Velp
Artificial intelligence, before it was cool
It started with garbage trucks. For a university project we had to plan their routes, and our team beat the best result of every year before us. Later came a scheduler for the university’s own exams. What hooked me was that you could hand a computer a problem far too tangled to work out by hand, and it would find a good answer by itself. So I filled my studies in Utrecht with as much artificial intelligence as would fit, back when few people expected much of neural networks. Soon after I graduated, DeepMind and OpenAI proved them wrong. Meanwhile I fixed computers all over Arnhem, built software for the care sector, and co-founded a company.
Bachelor, Informatics, Utrecht University 2007 – 2011
Master, Computing Science: advanced planning and decision making, Utrecht University 2011 – 2014
Student, Studentaanhuis · Arnhem 2010 – 2011
Web application developer, ZorgDigi · Velp 2011 – 2013
Co-founder, head of technology, uniQ Development · Velp 2013 – 2014
Look around: most things here have a story.
The Backbone years · 2013 – 2020 · Amersfoort · Ruurlo · Lochem · Berlin
Routes, buses and trains
It started with a thesis on route planning and turned into seven years at Backbone Systems, designing software mostly for (public) transport. At Qbuzz I was part of a team working on both ends of the bus: planning and monitoring software for traffic control, and the computers and screens inside the buses themselves, including a system I created to update and keep an eye on the whole fleet remotely. At Eijgenhuijsen, a transport company in Ruurlo, I worked closely with their product owner, sometimes alongside a frontend developer, on software for the drivers, the warehouse and planning the routes. And for Going Dutch, on the apps and servers behind a car-sharing service. For half a year I lived in Berlin, building a dynamic planner for package deliveries from a startup workspace, the Rainmaking Loft. That was a lot of fun.
Master’s thesis, Utrecht University, at Backbone Systems 2013 – 2014
Solutions architect, Backbone Systems · Amersfoort and Berlin 2014 – 2020
Software engineer, Going Dutch Studio · Lochem (a Backbone project) 2017 – 2020
Look around: most things here have a story.
The energy years · 2020 – now · Arnhem
Trading power
I would like to live in a solarpunk world, and we’re building towards it: solar panels on every roof, wind turbines on the horizon. But the grid is full. At the end of 2025 more than fifteen thousand Dutch companies were waiting in line for a connection, and cables can’t be laid fast enough to catch up. So the grid we have has to be used more cleverly. There’s plenty of flexibility out there, in batteries, heat pumps, electric cars and factories, that could take power when there’s lots of it and hold back when there isn’t, if a market made it worth their while. That’s what ENTRNCE, part of Alliander, is for: making it easier for more parties to trade on the energy and flexibility markets. I was a developer on the ENTRNCE Trader, for peer-to-peer trading between individual grid connections, and now I’m lead developer for Direct+, which gives smaller parties direct access to the wholesale power exchange.
Developer, ENTRNCE · Arnhem 2020 – 2025
Lead developer, Direct+, ENTRNCE · Arnhem 2025 – now
Look around: most things here have a story.
1 / 3
0m to go
0:00
×1.0
0pts
0
best 0
Roll!
Line up
Wild water
Rivers over the ridge, gentlest first.
The DawdleGrade 2 · 0.8 km
Slow and green, a few rocks, a lot of ducks.
Fetch 25 of Beike’s balls · 300
Get your flow up to ×2 · 300
Down in under 1:45 · 300
W paddle · AD turn · ←→ lean · Space brace
L2R2 paddle · stick leans · ✕ braces
Hold both sides to paddle, one side to turn
Plays best with a controller.
How to play
QE brake · ↑ lean forward · Shift sprint · P pause
L1R1 brake · □ sprint · Options pauses
Low down brakes, or braces when you tip · Sprint digs in · flick up to tuck at a waterfall
Clean lines, boofs and gates build your flow; a knock or a swim loses it. Score is distance × flow.
Tipping over
Lean against it, or brace. A brace needs a few seconds to come back.
Upside down
Roll when the needle swings into the gap.
Big water
Point straight down it and keep paddling.
Rocks ahead
Follow the arrows down the dark V. Knocks cost your flow.
A ledge
Paddle hard as the lip glows gold, to boof it.
A waterfall
Line up early, go over straight, lean forward.
Stuck in a hole
Lean forward and paddle hard.
The river splits
The hero line pays more; the sneak is easier.
Need a breather
Tuck in behind a rock: an eddy.
Best held upright: you see further down the river.
Your best: 0 · quickest down: –
Paused
Holding on to a branch.
How to play
Tipping over
Lean against it, or brace. A brace needs a few seconds to come back.
Upside down
Roll when the needle swings into the gap.
Big water
Point straight down it and keep paddling.
Rocks ahead
Follow the arrows down the dark V. Knocks cost your flow.
A ledge
Paddle hard as the lip glows gold, to boof it.
A waterfall
Line up early, go over straight, lean forward.
Stuck in a hole
Lean forward and paddle hard.
The river splits
The hero line pays more; the sneak is easier.
Need a breather
Tuck in behind a rock: an eddy.
Swimming
Distance
0 m
Time
0:00
Time bonus
–
Best flow
×1.0
Gates
0
Tennis balls
0
Clean set pieces
0
Full sends
0
Flat out
–
Capsizes
0
Spotted
Out in the storm
Down in the dark
Goals
0 of 3
Score
0
Best
0
Commonplace
Low Water lightship · LogPage
WatchRemarks
Weather’s as you see it. Here’s the proof from the table. It’s Euclid’s; I’ve only copied it out.
Take any list of primes, as long as you like.
Multiply them all together and add one.
Divide that by any prime on the list: 1 is left over.
So it’s made of primes that aren’t on the list. No list is ever all of them.
Claude
P.S. 2 × 3 × 5 × 7 × 11 × 13 + 1 = 30031, which is 59 × 509. It needn’t be prime. It only has to be made of new ones.