Hey, Iβm
Full-Stack Engineer | Custom Software Solutions
With nearly a decade of professional experience, I am a developer specializing in PHP, JavaScript, and Python, with a passion for C++ and Go. As a freelancer, I am dedicated to delivering high-quality software and continuously expanding my skills, a journey I often document in my blogs. You can review my professional work in the experience section.
I am currently building innovative new products together with my clients. Together, we are shaping the future of technology. Across different partnerships, I am currently working on AI product information management, managing network devices from a serverless web-first platform, developing custom tracking solutions for marketing, and building web scraping tools.
Services
- Web Tracking with AI insights
Gain actionable insights with our privacy-first, AI-powered web tracking. Receive weekly summaries of anonymous user activity to improve your website without the need for expensive, complex analytics tools.
- Monitoring
Ensure your services stay online with our managed uptime monitoring. We provide a simple, affordable alternative to complex monitoring platforms, alerting you instantly to downtime or expired SSL certificates.
- Container Hosting
VonkProgramming provides affordable and reliable container hosting solutions without the lock-in. Perfect for side projects that need flexible, short-term deployments without long-term contracts.
- Git Backup Service
Secure your code with an automated fail-safe. We provide a simple managed backup service that mirrors your repositories, ensuring your code remains safe even if you lose access to your main Git provider.
- Custom solutions
Turn your unique ideas into reality with tailored software solutions. From web development and AI integration to IoT, we build custom applications designed specifically to meet your business goals.
- Workflow Automation
Stop wasting time on repetitive tasks. Our custom workflow automation solutions streamline your business processes, reducing errors and freeing up your team to focus on high-value work.
Blogs
- What is a good password? π
Passwords are the key to your online identity and data. In this blog, I will explain what makes a good password, why using just one password is risky, and how a password manager can help you stay secure in an increasingly dangerous online world.
- Making Sense of the Web, a guide to basic internet terms π
A beginner-friendly guide demystifying everyday internet terminology. Learn how networks, IP addresses, DNS, firewalls, HTTPS, and VPNs actually work to keep you connected and secure online.
- Agentic coding, a new layer of abstraction π€
AI agents are advancing fast, while the introduction of ChatGPT was already a massive shift in how a lot of work was done, the improvements have kept coming. AI agents are doing more and more of the work and becoming impressively good at it as well. I think it is time to stop criticising using a lot of AI in your work and start thinking of ways to streamline using these agents. How to create guardrails so these agents can be used to effectively make us do more work while not generating AI slop.
- The challenges of European Cloud βοΈ
Recently, there has been a lot of discussion about the risks of European governments hosting their digital infrastructure on American cloud providers. While I agree with the security concerns, I believe many people overlook the challenges this transition will bring. In this blog post, I explore what makes providers like AWS, Azure, and Google Cloud special, the downsides of relying on them, and the difficulties in creating a European alternative.
- Vibe Coding Needs a Vibe Check π―
Writing unit tests for all your code is not something every developer or company has the time or resources to do. However they can ensure that your code works as expected and prevent production issues. In this blog post I will discuss how using AI you can easily generate unit tests for your codebase and increase your test coverage with minimal effort.
- Self-Hosting Unlocked π
Self-hosting services has been a passion of mine for a while now. Recently, I took that passion a step further by building a custom Raspberry Pi cluster, utilizing orchestration tools to manage and distribute services across it. But why go down the rabbit hole of self-hosting? In this blog post, I discuss the various self-hosted services I have built and how they can provide value to others.
- Spectrum Sensing using Cognitive Radio π‘
Radio signal congestion in Wi-Fi networks is becoming a critical issue as current channel selection methods struggle to keep up with demand. A novel solution utilizes neural networks to "listen" to the frequency spectrum and intelligently identify the best available channels for data transmission. This approach, particularly when using a Convolutional Support Vector Machine, has demonstrated over 90% accuracy in optimizing wireless connectivity and reducing interference.
- My views on AI and the future π€
Artificial Intelligence, you've probably heard this term over a thousand times already. But what is the current state of the technology? Where is it going? What are the good and the bad things about it? In my latest blog I talk about my views on this topic and dive into what I think the technology can do now, and what it will be able to do in the near future.
- Taking back control πͺ
Reliance on big companies has become more and more of a concern as of recently, for me as well. So the last couple of months I have been looking into how to host some of the most important services for me myself. In this blog post I describe my journey into starting.
- How matrices took over the world π
Matrices are often considered as a pain during your studies, but they are actually used everywhere! 3D rendering, neural networks and simulations all use matrices to perform their calculations. In this blog I will explain how they work and where they are used.
- The wonderful world of IoT: The perfect hobby for tech enthusiasts π¨βπ»
Over the last months I have been getting more and more interested in creating all kinds of IoT projects. It started with a christmas decoration last christmas but has turned into a full hobby. Home automations are already being built which will hopefully make life easier and more fun!
- My operating system journey: From Windows to Linux π§
In this blog post, I will share my journey of switching from Windows to Linux, the challenges I faced, and the benefits I have experienced since making the switch.
- ZenuNet: An easy way to create your own neural network
I have recently returned to university to pursue my master's degree after working for a three years. In this blog post, I'll share my experience and how working as a developer between my bachelor's and master's degrees has changed my perspective on studying and has made me a very motivated student.
- Neural Networks: A Beginnerβs Guide π§
Specialization can feel like a strength, but is it always the best choice for developers? In this blog post, I'll discuss the benefits of broadening your focus and how over-specialization can limit your growth and opportunities.
- How the internet works π
Like every 1 to 2 years I recently decided to rebuild my website again using another framework. This time I chose to use Solid.js to replace my old Astro.js setup. In this blog post I will talk about my experience setting everything up and the reasons why I chose Solid.js.
- Getting back into studying π
Large Language Models have taken the world by storm, but how do they actually work? In this blog post I will talk about the magic behind Large Language Models.
- Over-Specialization in Development π¨
Are you using Google Chrome for browsing the web? In this blog post I will show you some tips and tricks that will help you get the most out of your browsing experience
- Rebulding my personal website π οΈ
Version control is a powerful tool that can help you manage your codebase more effectively. In this blog post, I'll discuss some advanced version control techniques that can help you unlock the full power of version control and take your development workflow to the next level.
- The magic of Large Language Models πͺ
Have you ever noticed that you come up with the best ideas when you are bored? In this blog post I will talk about the power of boredom and how you can use it to your advantage.
- Google Chrome tips & tricks π
In today's interconnected world, having a strong network is as crucial as being skilled, as connections can open doors to opportunities that talent alone might not. By leveraging both local and digital networks, you can enhance your professional reach and position yourself for greater success.
- Unlocking the Full Power of Version Control π
In this blog post I will describe my experience with moving from the Netherlands to Poland. I will describe the challenges I faced and how I tackled them and how I think someone else could tackle them just the same.
- The power of boredom π€―
Have you also noticed that software seems to have more and more bugs and big crashes seem to occur more often? In this blog post I will talk about the challenges that come with guaranteeing high code quality.
- Connected world π
Developers often prefer to solve all their problems using code, sometimes however using a paid service or a no code solution is a better way to solve your problem faster. In this blog post I will talk about the considerations I make when solving a problem and where I think using abstract solutions like no code are justified.
- Moving to Poland π
Is kubernetes really the greatest invention of all time? Are AWS and Azure really going to scale infinetely? Maybe there is still a place in this world for monoliths and dedicated servers. In this blog I talk about my views on this topic and how I think that monoliths are still a viable option for a lot of companies.
- The degradation of code quality π
Development teams are often too focussed on the products they work on directly and don't stop to consider who the users are and where the product fits in to the bigger system and what stacks are used that are closely related to the product. In this blog post I will talk about how I deal with understanding this context and how I am often able to communicate with team that work in completely different stacks.
- The abstraction spectrum π
Do you have the feeling that programming full time as a job has reduced your appreciation of programming? Or are you just curious about the opinions of another lover of programming. In this blog I discuss why I love programming and how I will keep loving it.
- The viability of monoliths π€«
Why are all these motivational guru's so successful in conveying their message. I have also had a period in my life where I was susceptible to these kind of voices and what I have noticed; Is that it works very well in achieving more in life! It might sound weird because a lot of the time they also try to sell you some weird course which does not work. But the effect of believing that you will be able to achieve greatness is a very powerful
- Why is context important? π€
It happens to all of us that we encounter something that seems so complex that it cannot be grasped by our brains. But often after looking at the problem for a while and breaking it up into smaller pieces it becomes manageable. In this blog post I will discuss how I use the divide and conquer principle in my coding journey.
- The love of programming β€οΈ
Finding the right tool for the job can be difficult. Finding the optimal tool is even more difficult. In this blog post I go into my views on finding the right tool and what are important things to take into account.
- The benefit of believing in yourself π€©
Also experience forgetfulness every now and then? There is a solution! A superpower that is available to everyone, taking notes. In this blog post I will discuss how taking notes has changed my ability to remember.
- Divide & Conquer πͺ
Working fast and efficient is important. Doing more in less time while impressing your colleagues is amazing. I will dive into what small and easy improvements every developer can make to work more efficiently and save time in the long run which can be spent on other things (most likely more coding!)
- The right tool for the job π¨
Continuous learning is very important in the world of software engineering. But a pitfall a lot of people encounter is that they cannot stick to it. In this blog post I will delve into my personal journey with learning and my findings and tips.
- Taking notes, a real superpower π¦Έ
What are the key principles of code excellence? What rules to adhere to and what tools to use? This blog post will delve deep into the world of writing excellent code, click read more to find out.
- Small efficiencies add up
- Learning sustainably
- How to achieve code excellence
Skills
- Dutch
- English
- Polish
- Javascript
- Python
- Typescript
- HTML
- CSS
- Bash
- SQL
- PHP
- Go
- C++
- C
- Matlab
- Java
- MongoDB
- SQLite
- MySQL
- Redis
- Postgres
- Vue.js
- Express.js
- React
- Lit
- Solid.js
- Flask
- Angular
- Ionic
- Laravel
- Django
- NiceGUI
- React Native
- Electron
- Astro
- Svelte
- Nuxt.js
- Nest.js
- Strapi
- Git
- Gemini
- Sass
- Klaviyo
- Jest
- ESLint
- npm
- PyTest
- Chart.js
- Cypress
- Pandas
- Puppeteer
- Playwright
- Stripe
- PyTorch
- PySpark
- Prisma
- Redux
- i18next
- Payload
- Vim
- Langchain
- Docker
- Nginx
- Github
- Github Actions
- Apache
- Azure DevOps
- AWS
- Jenkins
- Lightspeed
- CCVShop
- Magento
- WooCommerce
- Shopify
- Wordpress
- node.js
- Linux
- Ubuntu
- Debian
- Windows
- Mikrotik RouterOS
Experience
- Mikrocloud
At Mikrocloud, I work as the lead developer responsible for the technical decisions and infrastructure of an SD-WAN platform that helps users manage Mikrotik RouterOS devices. The backend is built with Laravel on AWS Lambda via Laravel Vapor, using a microservices architecture with SQS for inter-service communication, and the frontend with Nuxt.js. I also write scripts in the RouterOS scripting language to configure routers remotely. Within this role I am responsible for the technical development of the platform, its architecture and infrastructure.
- Webshopimporter
At Webshopimporter, I am the lead developer managing the application that synchronises supplier data to different e-commerce platforms such as Shopify, Lightspeed, WooCommerce, Magento and CCVShop. I collaborate on migrating the platform from the legacy CodeIgniter codebase to Django, while also building and maintaining integrations using protocols like REST, SOAP and FTP and formats like JSON, XML and CSV, even when supplier documentation is complex or incomplete. Within this role I am responsible for the technical development of these integrations and how they are implemented. For this I need to thoroughly study various supplier documentation and the APIs they provide in order to integrate them into the platform.
- Swiftsync
At Swiftsync, I work as a full-stack developer on various software solutions based on client requirements. I use frameworks including Django, NiceGUI, Playwright and Pandas, and have built a data management dashboard in NiceGUI for CCVShop product data, a web scraping dashboard using Django and Playwright, and a product synchronisation tool between Wintree and various e-commerce platforms handling product data, stock levels, customer groups and tier pricing. Within this role I am responsible for the technical development of these tools and how they are implemented.
- Chary Solutions
At Chary Solutions, I work as a senior developer handling the technical development of marketing integrations between platforms that are not supported by Klaviyo out of the box. I use Google Tag Manager for custom tracking cookies for actions on websites and use the APIs of various companies to collect the required data and integrate it into Klaviyo. I also build internal automations, scripts and tools that streamline business processes and reduce manual work for the marketing team, including integrating Gemini's API to automatically categorise data. Within this role I am responsible for the technical development of these integrations and internal automations and how they are implemented.
- SPAR
At SPAR Nederland, I worked as a data engineer on data challenges for one of the Netherlands' largest retail chains, with a focus on parsing and mapping big data as efficiently as possible. I used Azure Data Factory, Azure Databricks and Azure SQL Database to manage and process large datasets. I used Pandas to efficiently shape data into the right form, and PySpark to split workloads into batches across multiple instances. Within this role I was responsible for the technical development of these data challenges and how they were implemented as a team member. For this I had to use my skills for working with big data and my knowledge of Azure's data services to solve the complex problems SPAR faced.
- ING
At ING, I worked as a full-stack developer and product owner on banking interfaces built with Lit web components, focusing on code quality by writing custom ESLint rules enforced across the team and driving unit testing standards with Jest. I managed Azure DevOps CI/CD pipelines for reliable deployments, using frameworks such as Lit, Node.js, ESLint and Azure DevOps to build the banking interfaces. As product owner I focused on setting realistic expectations and preventing stakeholder misalignment β what the team said they could handle was what got planned, not more. Within this role I was responsible for the technical development of these banking interfaces and how they were implemented as a team member, as well as keeping both the team and stakeholders aligned so we made every deadline.
- Quintor
At Quintor, an IT consultancy, I started with a traineeship and later became an IT Consultant. Over my three years here, I completed assignments at SVB and ING. During my traineeship and time at the company, I learned a lot from more experienced consultants about high code quality, development pipelines, and deep testing strategies. I also shared my own knowledge by giving knowledge sessions. The role focused on working in a framework-agnostic manner, teaching me to quickly adapt to different technologies and understand the entire application stack, from frontend to backend and infrastructure.
- SVB
At SVB, I worked as a frontend developer on a platform that translated raw data into an advanced frontend dashboard, as a translation layer between the legacy application and the new frontend. I used AngularJS for the legacy application and Angular for the new frontend, Jasmine for testing the code, and Jenkins for CI/CD pipelines. Within this role I was responsible for the technical development of this frontend and how it was implemented as a team member.
- J-Tax Automotive
At J-Tax Automotive, I worked as a full stack developer building a customized tool designed to generate valuation reports. The application connected to different external sources that handled the actual calculations, combining this data into a nicely structured report. This allowed the client to create reports far more efficiently, significantly increasing the number of reports they could produce. The platform was built using the MEVN stack, consisting of Vue.js for the frontend, Express.js and Node.js for the backend, and MongoDB for the database. Within this role I had to use my skills to develop a complete full stack application from scratch, as well as my problem solving abilities to integrate various calculation sources into a single streamlined workflow.
- MedWeb
At MedWeb, my first full-time role, I started as an intern and later became a Software Developer. I worked on advanced scheduling software focused on the medical field, primarily used by hospitals. Within this role I worked with HCL Notes, which is a document-oriented database, using LotusScript as the backend language and Vue.js as the frontend language, along with Chart.js to create various data dashboards for scheduling insights. I was responsible for the technical development of this platform and how it was implemented, transforming large datasets from HCL Notes into clear, readable graphs.
- Floriade
At Floriade, I worked as a software development intern contributing to a specific segment of their digital platform. The Floriade exposition is a renowned international horticultural exhibition that showcases innovative landscaping and sustainable gardening practices. My responsibility was to build features that enhanced their digital presence leading up to the event. The project was built using a traditional web stack consisting of PHP for the backend mechanics, MySQL for database management, and HTML and CSS for the frontend interface. Within this role I had to use my web development skills to build reliable digital tools, as well as my ability to collaborate on a large scale international project focused on urban development and sustainability.
- Sanoma
At Sanoma, I worked as a software development intern focusing on building software for their advertising platform. My primary task revolved around visualizing and presenting advertising data in a variety of advanced chart formats. These charts added a dynamic dimension to the platform and allowed users to easily understand complex datasets. The platform was built using PHP, HTML, and CSS, backed by a MySQL database. For the data visualization components, I utilized the Chart.js library to render the interactive graphs. Within this role I had to use my skills in frontend development and data visualization to translate raw data into clear and effective visual representations for the end user.
- Student Aan Huis
At Student Aan Huis, I worked as a technical support representative assisting customers with a wide range of computer issues. My tasks varied daily, ranging from simple printer setups and network troubleshooting to restoring entire Windows operating systems for clients who experienced critical failures. The work primarily involved diagnosing and fixing issues on Windows machines, configuring local hardware, and explaining technical solutions to non technical users in a clear and understandable way. Within this role I had to use my practical knowledge of computer hardware and operating systems to solve technical problems, as well as my communication skills to provide excellent customer service.