I'm Ferdi Koomen, a freelance developer with more than 10 years of experience in the development & management of complex technical projects. When I’m not working for clients, you can find me learning new technologies or working on personal projects. This website showcases a selection of that non-commercial work.
Jump a Mini Cooper straight through a wall of boxes with this WebGL and Physics engine demo.
Select your favorite color and drive a MINI Cooper straight through a wall of boxes. Note that this is a personal project and is not directly related to BMW / MINI.
This project started out as a research project to learn WebGL: How to export models from Blender, import them in Three.js, assign materials, create lights, etc. To make things more interesting and playful, I've added a physics engine.
This project works on both mobile and desktop devices. The mobile version automatically selects a low-quality mode, that has no antialiasing, no shadows and uses a low-poly model. The desktop version has a high-quality mode that has full antialiasing, real-time shadows and a LOD model that switches between low-poly and high-poly based on the distance to the camera.
C++ research project to learn more about cameras, image processing, color spaces, OpenCV and multi‑threading.
Capture3 is a C++ desktop application that can capture and process photos through a tethered connection with a digital camera. It started out as a research project to learn more about digital cameras, image processing, color spaces, C++, OpenCV and multi‑threading.
An experimental design and printing tool, made exclusively for the Ultimaker 2 printer.
A while ago I wanted to learn more about 3D printing and bought a Ultimaker 2 3D printer. Like most people I started my first steps in 3D printing by printing some free 3D models using tools like Cura and Simplify3D. But in order to properly design a model from scratch, I would need to learn additional design tools like Maya or Blender.
Instead of learning a new design tool, I wanted to build something that allowed me to understand the details of 3D printing, something that could generate a simple design and send that directly to the printer without any abstraction layers or interpretation.
The result is a Processing based application that can generate a cylindrical shape design, output it as G‑code and send that to the printer via USB. Working with this G‑Code directly allowed me to learn all the settings like temperature, acceleration, feed-rate, retraction, print speed, etc.
This application is used in African wild parks to display the real-time location of animals, people and vehicles.
The IOL web application is used in African wild parks to display the real-time location of animals, people and vehicles. This project was made in my free time to support the great work of IOL and the ShadowView Foundation.
Using the web application, park managers can quickly see the location of each tracker and get detailed information like altitude, speed, course, etc. The application also displays the route a tracker has taken. And it will notify the park manager when gates are opened and closed.
Next to the main interface, there is also a (HTML5 based) mobile app. Using the mobile app, park managers can update the information of a tracker device by scanning it using the camera on their mobile phone.