Projects & Experiments

  1. 31 May 2026

    Doom title screen dithered to 1-bit and displayed on a 128x64 SSD1306 OLED connected to an ESP32 DevKit, mounted inside a cardboard enclosure

    1-Bit Doom: Stream DOS Games to ESP32 OLED Over WiFi

    Stream DOS games to a 128x64 SSD1306 OLED on an ESP32 over WiFi. Browser-based 1-bit dithering converts each frame for a tiny monochrome display.

  2. 17 May 2026

    ESP32 pinball game running on a tiny OLED display, housed inside a cigarette case with the board and USB cable visible

    ESP32 OLED Pinball with Capacitive Touch

    A pinball game built from scratch in C++ for the ESP32 and a 128x64 OLED, using capacitive touch pins as flippers and a cigarette case as the enclosure.

  3. 3 May 2026

    Wireframe view of the face landmark explorer with four pinned points highlighted.

    MediaPipe Face Landmark Explorer

    Interactive browser tool for exploring all 478 MediaPipe face mesh landmarks with your webcam. Pin points, filter by region, and copy indices in one click.

  4. 16 Apr 2026

    A tiny OLED display connected to an ESP32 showing a live webcam feed in a dithered 1-bit pixel style, streamed wirelessly from the browser over Wi-Fi.

    ESP32 Mini OLED Webcam Stream

    Stream your webcam to a tiny ESP32 OLED display with MediaPipe face detection and seven dithering styles. Runs from a single Arduino sketch file.

  5. 3 Apr 2026

    Screen recording of the map gesture control demo showing an OpenLayers map with a small webcam preview in the corner. A user pans the map by making a fist and moving their hand, then zooms by spreading two open hands apart. All hand tracking and gesture detection runs in the browser using MediaPipe WASM with no backend.

    Open Source Hand Gesture Controls for Maps in the Browser

    Open source library for controlling OpenLayers, Google Maps, and Leaflet with hand gestures. Pan, zoom, and rotate maps without touching the screen.

  6. 15 Mar 2026

    Face-controlled Tetris game where a player moves pieces by raising eyebrows and opening their mouth using webcam face detection.

    Eyebrow Tetris: Face Controlled Browser Game

    A browser Tetris game controlled by your face. Raise your eyebrows to rotate, tilt your head to move pieces. Built with MediaPipe face mesh tracking.

  7. 2 Mar 2026

    Pug's Hunt browser game using webcam hand tracking to aim and shoot ducks

    Pug's Hunt: Webcam Duck Hunt with Hand Tracking

    A webcam-controlled browser game inspired by Duck Hunt. Point your hand to aim, make a finger gun to shoot. Built with MediaPipe hand tracking and Next.js.

  8. 18 Feb 2026

    3D Toilet Paper Roll Simulator

    3D Toilet Paper Roll Simulator with Real Thermal Printing

    A 3D toilet paper roll simulator with Three.js that prints whatever you type on a real thermal printer. Drag to unroll, watch the paper stack on the floor.

  9. 17 Jan 2026

    Sudoku Ultimato, Sudoku & Killer Sudoku Without Intrusive Ads

    Sudoku Ultimato: Free Sudoku App, No Intrusive Ads

    A free Sudoku app with no ads, no subscriptions, and no pop-ups. Built with Flutter for iOS and Android with offline play, hints, and daily puzzles.

  10. 10 Apr 2025

    Screenshot of project page showing portfolio

    Developer Portfolio Built with Next.js and Sanity CMS

    A developer portfolio built with Next.js and Sanity CMS. Statically generated, fully accessible, with structured data and SEO built in from the start.

  11. 6 Jan 2025

    Flutter tabata whip timer app store

    Flutter Tabata Whip Timer

    A Tabata workout timer built with Flutter as a first app project. Features custom intervals, audio cues, and a whip crack sound to keep you moving.

  12. 4 Aug 2024

    Arduino 3d printed wordclock

    Arduino 3d printed dutch word clock with minute accuracy

    A 3D printed Dutch word clock with minute accuracy, built with Arduino. Unlike most word clocks that update every five minutes, this one shows the exact time.

  13. 1 Jan 2020

    Open GeoWeb

    Open GeoWeb: Open Source Weather and Geospatial Platform

    Open source web platform for real-time weather monitoring and geospatial data visualization. Built for meteorologists to create forecasts, alerts, and warnings.

  14. 22 Nov 2018

    Game of Life in react/redux

    John Conway's game of life in react/redux

    Conway's Game of Life built with React and Redux. Watch cellular automata evolve, draw your own patterns, and adjust speed. Runs entirely in the browser.

  15. 30 Jun 2013

    Campina BOER en LAND

    Campina BOER en LAND

    A promotional website for Campina's BOER en LAND dairy product line. Built to highlight sustainable Dutch farming with interactive maps and farm stories.