Experience

Examples of my work.

Technical advice, payment platforms, warehouse software and product research. These examples show what I worked on and what I contributed.

Consultancy

Advice on technical decisions.

Technical advice is a recurring part of my work. Sometimes it starts with a one-off question. I also advise on system design, infrastructure and the next technical step during development.

  • Architecture and system design
  • Reviewing existing software and infrastructure
  • Discussing technical decisions with clients and teams

Clients and platforms

  • Roadwise
  • 24Toll
  • ROX

and other clients.

More about consultancy

Roadwise Group / Tollvignettes & 24Toll

Orders, payments and APIs across three platforms.

I work on Tollvignettes.com, 24Toll.com and the Roadwise platform for Roadwise Group. I advise on technical decisions and build solutions for order and payment processing, APIs, synchronisation and cloud infrastructure.

My work for Roadwise Group

Tollvignettes

Automating order processing

At Tollvignettes, I automated the processing of vignette orders. The team has less information to handle manually and a clearer view of errors, making day-to-day operations and customer support easier.

Tollvignettes

Payment gateways and digital wallets

I implemented PAY.nl, Nuvei, PayParts and PayPal, including payment statuses, callbacks and failed or cancelled payments. I also added Apple Pay and Google Pay through Nuvei and PayParts.

24Toll

Recurring payments

For 24Toll, I implemented recurring payments through PAY.nl. That includes payment mandates, subsequent charges and handling payment statuses and failed payments as part of invoice processing.

24Toll

An API for external partners

I built an API that lets external partners register and manage vehicles, retrieve outstanding invoices and request proof of toll passages. The work also includes authentication, webhooks and safely handling repeated requests.

24Toll / mTLS

Secure connections and key management

For 24Toll, I set up mTLS and key management using Terraform, Cloudflare and Google Cloud KMS. The private key is HSM-protected and remains inside KMS, where signing takes place. Developers and the application do not need a copy of the private key.

Tollvignettes ↔ Roadwise

Synchronising orders, vignettes and documents

I built the synchronisation of order, vignette and document data between Tollvignettes and Roadwise. That includes processing updates, background tasks and handling failed synchronisations.

Roadwise

APIs for other applications

I also built APIs that connect Roadwise to external applications. They provide access to vehicle and vignette data, documents and parts of checkout, with access controls for each application and user.

Platform infrastructure

Setting up environments and background processing

Using Terraform and Kubernetes, I set up separate environments for the applications and their background processing. I also configured automatic scaling.

Technology used

Applications
PHP · Laravel · Next.js
Payments
PAY.nl · Nuvei · PayParts · PayPal · Apple Pay · Google Pay
Integrations & infrastructure
REST APIs · Webhooks · Terraform · Kubernetes · Google Cloud
Security
mTLS · Cloudflare · Google Cloud KMS · Cloud HSM
The benefits of order automation at Tollvignettes
  • Less manual processing of vignette orders
  • Visibility into order-processing errors and exceptions
  • Easier operations and support at Tollvignettes

Tollvignettes sells vignettes; 24Toll processes toll payments. Roadwise connects data and applications. Each example above names the platform I built it for.

From a client

In our office, we now just call Henny the Wizard. He has been working on Tollvignettes.com and 24Toll.com for more than two years, and so far there hasn’t been anything he couldn’t make happen. Whatever you ask Henny, he always finds a clever solution. And he does it with clear communication, flexibility and very fast delivery. Henny is a real driving force behind the development of our webshops. He’s been a tremendous addition, and we would recommend him to anyone looking for a strong freelancer for their development team.

Han DijkhuizenManaging Director, Roadwise Group B.V.

Translated from Dutch

Read the Dutch original

Bij ons op kantoor noemen we Henny inmiddels gewoon de Tovenaar. Al meer dan twee jaar werkt hij mee aan Tollvignettes.com en 24Toll.com, en tot nu toe is er nog niks geweest wat hij niet voor elkaar kreeg. Wat je ook aan Henny vraagt, hij vindt altijd een slimme oplossing. En dat doet hij ook nog eens met duidelijke communicatie, flexibiliteit en supersnelle oplevering. Henny is echt een drijvende kracht achter het development van onze webshops. Een enorme aanwinst dus, en we kunnen hem iedereen aanraden die een sterke freelancer in z’n devteam zoekt.

eWarehousing Solutions / Development Team Lead

A WMS with web interfaces, warehouse apps and integrations.

As Development Team Lead at eWarehousing Solutions, I work on the Warehouse Management System and its supporting applications. I lead the development team and contribute to the backend, web interfaces, mobile app, middleware and infrastructure myself.

My work at eWarehousing Solutions

PHP / Symfony

Modernising the backend

I worked on the upgrade from Symfony 2.8 to 6.4 and on running the application with RoadRunner. I also improved database queries and business logic in the existing WMS backend.

React / Next.js

Web interfaces for the WMS

I helped develop the web interfaces people use to work with the WMS, using React and Next.js. This covers both the screens and their integration with the backend.

Flutter / Dart

An app for work on the warehouse floor

I helped build the Flutter app for warehouse staff. It supports receiving goods, scanning items and locations, entering quantities and picking orders: the steps carried out on the warehouse floor.

Python / Django

Middleware connecting webshops and the WMS

I helped develop the existing Django middleware that connects e-commerce platforms to the WMS. My work covered framework upgrades, processing webhooks and improving visibility into webhook activity. I used Celery and RabbitMQ for background tasks.

Background processing

Generating documents and sending webhooks

I built background processing for generating documents and sending client webhooks. These tasks can then run outside a single request to the WMS.

Integrations

Connecting shipping services and other systems

I developed integrations with Sendcloud, Paazl and Wolfpack, among others. That also means fitting data exchange and error handling into the WMS processes.

Kubernetes / Terraform

The environment the WMS runs in

I set up infrastructure for separate WMS environments with Kubernetes and Terraform. I also worked on a proof of concept for creating those environments through a form.

MCP / ChatGPT

Asking ChatGPT about the WMS

I implemented an MCP integration that is now in use through ChatGPT. Users can ask questions about orders, products and stock, among other things. The integration respects existing user permissions and customer access in the WMS.

Team & documentation

Developing the system with the team

Alongside my own development work, I lead the development team and discuss technical decisions. I also worked on documentation using Markdown and MDX, so information about the software and integrations is available to others.

Technology used

Backend & data
PHP · Symfony · RoadRunner · PostgreSQL
Web & mobile
React · Next.js · Flutter · Dart
Middleware & background tasks
Python · Django · Celery · RabbitMQ · Redis / Valkey
Infrastructure
Kubernetes · Terraform · Docker · Google Cloud
AI integration & access
MCP · OAuth / PKCE

Strive / Product research

Product research for dropshipping.

For Strive, we built a tool to research which products on bol.com had potential for dropshipping. The solution combined a Python spider with a Django backend.

My work for Strive

Python / Scrapy

Collecting product data

We built a bol.com scraper using Python and Scrapy. It collected product data, including prices, ratings and quantities, as the basis for product research.

Django / REST API

The backend for the research tool

Using Django and Django REST Framework, we built the backend and API to make the collected product data available to the application.

Technology used

Backend & data collection
Python · Django · Django REST Framework · Scrapy

Telefuture Direct / Senior Software Engineer

Launching websites faster and simplifying development.

At Telefuture Direct, I worked on the platform as a Senior Software Engineer. I introduced Docker and built an application to help launch websites and campaign pages more quickly.

My work at Telefuture Direct

Docker

Introducing Docker into development

I proposed using Docker and set it up for local development of the platform, working towards a more consistent development environment for the team.

Websites & campaigns

An application for building websites faster

I built an application to help the team set up websites and campaign pages more quickly. Its theming system let designers assemble pages using JSON configurations.

Symfony / Sanity.io

Making CMS content available

I built a Symfony application that retrieved content from Sanity.io through its REST API and rendered localised pages.

Translation workflows

Exchanging translations with XLIFF

I also developed a Symfony tool for translating Sanity.io content, with XLIFF import and export for working with external translators.

Technology used

Development & content
PHP · Symfony · Docker · Sanity.io · REST API · JSON · XLIFF

Notive / Backend Developer & Lead Developer

Getting webshops and other systems working together.

At Notive, I developed integrations for Shopify, WooCommerce, Magento and Lightspeed. I built plugins and middleware, working directly with clients and the team on their implementation.

My work at Notive

E-commerce

Code and collaboration

Alongside building integrations, I helped lead sprints and shape technical decisions. I bring that combination of development and communication to my freelance work.

Technology used

Backend & integrations
PHP · Symfony · Python · REST APIs · Docker

HuisVandaagVerkopen.nu / Property data

A platform for property research.

For HuisVandaagVerkopen.nu, I built a platform for researching property listings and finding homes suitable for renovation.

Client website (archive)
My work for HuisVandaagVerkopen.nu

Data collection & analysis

Collecting and analysing property listings

I built a platform that collected property listings from sources including Funda. The data could be analysed to find homes suitable for renovation.

Mindful / Questionnaires

A questionnaire platform.

For Mindful, I built a questionnaire platform with a Symfony API and a web interface in Vue.js.

My work for Mindful

Symfony

API and user management

I built the API for questionnaires, answers and user management. The platform had different user roles.

Vue.js

Completing questionnaires

I built the web interface that allowed users to complete questionnaires and submit their answers.

Technology used

Backend & web interface
PHP · Symfony · Vue.js

Personal project / In development

Vermogens Baken

My crypto was spread across several platforms and a Ledger wallet. I’m building Vermogens Baken to track my portfolio in one place and keep the information I need for my Dutch income tax return to hand.

Visit Vermogens Baken
What I’m building

Portfolio & integrations

Bringing holdings together

I’m building integrations and imports to bring holdings and transactions from different sources together. The application shows portfolio value and allocation, making missing data and differences between sources visible.

Box 3 & records

Gathering records for a tax return

The Box 3 overview brings together holdings and their values on the valuation date. My aim is to have the information for my Dutch income tax return available, with any missing data clearly identified.

MCP / ChatGPT

Portfolio updates through ChatGPT

I built an MCP layer that lets ChatGPT read a portfolio with the user’s permission. A connected agent can use that data for a daily update. The integration provides read-only access to the user’s own portfolio.

Technology used

Application & administration
Laravel · Filament · Next.js · TypeScript · PostgreSQL
Integrations & access
API integrations · Imports · MCP · OAuth / PKCE

Work together

Something you could use a hand with?

Tell me what’s happening. We’ll work out how I can help.

Let’s talk