About
Curious, autodidactic engineer with almost 20 years of building web products people actually use — from the Benelux's biggest news and entertainment brands to real-time sports betting. I go deep where it matters most — server-side rendering at scale, analytics and experimentation that turn opinions into decisions — and everything I build, from casino platforms to engineers, is meant to stop needing me. It usually ships sooner than the budget assumed, too.
Experience
Freelance Full Stack Developer · Nederlandse Loterij (TOTO)
Jan 2023 — present
Three engagements on TOTO's gambling platforms — a brand integration into the legacy casino, a ground-up casino rebuild, and the new TOTO Sport sportsbook — all real-time products under strict gambling regulation, peaking at 100,000 active users a night.
- Shipped the Winn-It brand into the legacy casino platform in six weeks — with six months budgeted
- Rebuilt the casino from scratch on Vue 3 and .NET, then handed it over to newly hired in-house developers; the team chose a custom SSR stack over Nuxt — no vendor lock-in, and every dev learns what a meta-framework does under the hood
- Owned the initial SSR implementation for both casino and sportsbook; researched the hard parts — memory leaks and state leaking across requests — and coached the team on preventing both
- Turned a three-month sportsbook proof-of-concept into a green light at the halfway demo; with four devs, reached closed beta in a year and replaced the legacy product six months later — handling peaks of 4,000 logins and 2,000 bets per minute
- Built the custom Google Analytics enhanced-ecommerce funnel for betting — a betslip is not a shopping cart — plus the sportsbook's custom A/B-testing setup
- Made both products webview-ready for the iOS/Android apps, debugging the not-quite-a-browser quirks side by side with the app developers
TypeScript · Vue 3 · Pinia · Node.js · Express · .NET (C#) · Azure · Cloudflare · GTM · Google Analytics
Freelance Full Stack Developer · DPG Media
Mar 2018 — Jun 2022
Built and ran entertainment products — video, puzzles, casual games, quizzes and podcasts — serving roughly 1.5 billion views a year across DPG's biggest brands (AD, HLN, de Volkskrant), with advertising, paywalls and tracking built in, under a "you build it, you run it" principle.
- Built the embed system end to end — the loader script, the data-attribute element API, and the embeds themselves in vanilla JavaScript, CSS and HTML — nearly all of it mine, with the team as sparring partners; carried video from 4 to 20+ titles, then puzzles, games, quizzes and podcasts
- Implemented the complete Snowplow analytics integration on the front-end: plays and playthrough, profile-based recommendations, and daily-puzzle notifications that knew whether you'd already played
- Built the web side of the "wall" product: a brand sets up one route with its own header and footer, and we render everything in between — one lightweight integration per label
- Worked in continuous back-and-forth with the app teams on webview integration; later ported the products to React alongside the React Native apps
- Ran what we built: containerized hosting in AWS, caching and WAF in Akamai, monitoring and alerting
TypeScript · React · Node.js · Elixir · PostgreSQL · AWS · Akamai · Snowplow · Google IMA
Team Lead Front-End · DigitasLBi
May 2016 — Dec 2017
Led front-end development (75% hands-on, 25% leading) for a team of about 8 front-end developers in a fast-paced B2C campaign environment, for clients such as Audi, Renault, Dutch Railways (NS) and the Ministry of Health.
- Stepped into the front-end-lead gap from day one — the sitting lead announced his departure the day I started — and in practice took on the estimations and the back-and-forth with PMs and traffic
- Defined the common front-end stack and coding standards used across projects and teams
- Gave a trainee his first production project — trainbooking.com, direct client contact included — and guided him through it
- Encouraged a developer to take campaign sites to React, then guided him in building our reusable campaign tooling — in effect our own meta-framework, before Next.js existed
- Delivered under hard campaign deadlines — including a multilingual Audi site live within four weeks
JavaScript · React · Vue · Nuxt · Node.js · Azure · AWS
Full-Stack Web Developer · Hot ITem
Sep 2008 — Apr 2016
Started full-stack in the ASP.NET and jQuery era, building business web applications for clients including PostNL, ING, Rijkswaterstaat, KPN, Ziggo and de Persgroep.
- Claimed the front-end spot nobody wanted and grew it into a UX practice — user sessions, client presentations, and sparkling interfaces on top of server-rendered pages
- Kept de Persgroep's news platforms running at 35M pageviews a month — a big number in 2010
JavaScript · C#/.NET · PHP · Java · SQL
Skills
- Expert
- TypeScript / JavaScript · HTML · CSS · Node.js
- Specialties
- Server-side rendering (custom-built, at scale) · Analytics & experimentation (GA, GTM, Snowplow, A/B testing) · Embeds & webviews · Monitoring & alerting · Accessibility (WCAG)
- Comfortable
- C# · Elixir · SQL · Any language with an expert on the team — I ask, I learn
- Frameworks & platforms
- React · Vue · Next.js · Nuxt · .NET · Phoenix · Azure · AWS · Cloudflare · Akamai
- Beyond code
- Explaining technology to non-technical people · Translating abstract ideas into structured processes and UX · Data modeling · Refining requirements · Mentoring & sponsoring engineers · Working in agile teams
Education
- MSc Information Science — Human Centered Multimedia, University of Amsterdam · 2015
- BEng Business Engineering, Inholland University of Applied Sciences · 2007
Off the clock
Right now I'm building a log cabin in the backyard, my team of three kids and I report to my wife, and I'm over-engineering a meal planner — because deciding at 17:00 what's for dinner is the mental equivalent of driving your car into a ditch.