# Sander de Snaijer > Frontend developer specializing in MediaPipe, computer vision, React, and hardware projects. Building creative browser experiments that combine webcams, hand tracking, and real-time interaction. ## About Sander de Snaijer is a frontend developer based in the Netherlands. He builds browser-based computer vision projects using MediaPipe, WebGL, and Canvas. His work includes face-controlled games, gesture-controlled maps, ESP32 hardware projects, and Flutter mobile apps. All projects are open source. ## Topics of expertise - MediaPipe face mesh and hand tracking in JavaScript - Browser-based computer vision (WebGL, Canvas, WASM) - Gesture recognition for web applications (OpenLayers, Google Maps, Leaflet) - ESP32 and Arduino hardware projects - Flutter and Dart mobile development - Next.js and React frontend architecture - 3D printing and maker projects ## Projects - [1-Bit Doom: Stream DOS Games to ESP32 OLED Over WiFi](https://www.sanderdesnaijer.com/projects/1-bit-doom): 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. - [ESP32 OLED Pinball with Capacitive Touch](https://www.sanderdesnaijer.com/projects/esp32-pinball): 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. - [MediaPipe Face Landmark Explorer](https://www.sanderdesnaijer.com/projects/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. - [ESP32 Mini OLED Webcam Stream](https://www.sanderdesnaijer.com/projects/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. - [Open Source Hand Gesture Controls for Maps in the Browser](https://www.sanderdesnaijer.com/projects/map-gesture-controls): Open source library for controlling OpenLayers, Google Maps, and Leaflet with hand gestures. Pan, zoom, and rotate maps without touching the screen. - [Eyebrow Tetris: Face Controlled Browser Game](https://www.sanderdesnaijer.com/projects/eyebrow-tetris): 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. - [Pug's Hunt: Webcam Duck Hunt with Hand Tracking](https://www.sanderdesnaijer.com/projects/pug-s-hunt-a-webcam-controlled-duck-hunt-built-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. - [3D Toilet Paper Roll Simulator with Real Thermal Printing](https://www.sanderdesnaijer.com/projects/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. - [Sudoku Ultimato: Free Sudoku App, No Intrusive Ads](https://www.sanderdesnaijer.com/projects/sudoku-ultimato): 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. - [Developer Portfolio Built with Next.js and Sanity CMS](https://www.sanderdesnaijer.com/projects/portfolio): A developer portfolio built with Next.js and Sanity CMS. Statically generated, fully accessible, with structured data and SEO built in from the start. ## Blog articles - [From 0 to 27K Search Impressions on a Developer Portfolio in 90 Days](https://www.sanderdesnaijer.com/blog/from-zero-to-27k-impressions-seo): 90 days of Search Console data mapped to git commits. What actually drove organic traffic on a dev portfolio, from zero to 27K impressions." - [MediaPipe Face Mesh: All 478 Landmark Points](https://www.sanderdesnaijer.com/blog/mediapipe-face-mesh-landmarks): Complete visual reference for all 478 MediaPipe Face Mesh landmarks. Grouped by face region with copy-paste JavaScript code for eyes, mouth, nose and jawline. - [Gesture Controls for OpenLayers, Google Maps & Leaflet](https://www.sanderdesnaijer.com/blog/gesture-controls-openlayers-mediapipe): Add open source hand gesture controls to OpenLayers, Google Maps and Leaflet with MediaPipe hand tracking. Pan, zoom and rotate maps by webcam. - [MediaPipe Hand Tracking & Face Detection in JavaScript](https://www.sanderdesnaijer.com/blog/mediapipe-hand-face-tracking): Beginner MediaPipe JavaScript tutorial: build a real-time hand tracking and face detection app in one HTML file with rainbow trails, particles and webcam effects. - [How to Make Resin Stained Glass with a 3D Printed Frame](https://www.sanderdesnaijer.com/blog/3d-printed-stained-glass-resin): Easy resin stained glass technique using a 3D printed frame and colored epoxy. A beginner-friendly alternative to glass cutting. Step-by-step guide with photos. - [Building a Multi-Language Sudoku App for iOS & Android](https://www.sanderdesnaijer.com/blog/building-multilanguage-sudoku-app-flutter): A developer's honest account of shipping a Flutter Sudoku app to the App Store and Play Store, including localization, store submissions, and lessons. - [Custom Chocolate Bars: From 3D Print to Silicone Mold](https://www.sanderdesnaijer.com/blog/3d-printed-chocolate-bar-mold): Design and 3D print your own chocolate bar mold, cast a food-safe silicone mold, and pour custom chocolate bars with any logo or shape. - [Responsive Header that Changes on Scroll (CSS & JS)](https://www.sanderdesnaijer.com/blog/responsive-header-scroll-html-css-js): Step-by-step tutorial on building a responsive sticky header with scroll-based behaviour using vanilla HTML, CSS and JavaScript. No frameworks needed. - [Building a Portfolio with Next.js and Sanity (Headless CMS)](https://www.sanderdesnaijer.com/blog/nextjs-sanity-portfolio-headless-cms): How I built a portfolio and blog with Next.js and Sanity CMS using TypeScript, Tailwind CSS, JSON-LD and Vercel. Full source code included. - [My First Flutter App: A Frontend Developer Goes Mobile](https://www.sanderdesnaijer.com/blog/building-first-flutter-app-lessons): What it's really like to build your first Flutter app without mobile experience, the surprises, mistakes, and lessons from a frontend web developer. ## Links - Website: https://www.sanderdesnaijer.com - GitHub: https://github.com/sanderdesnaijer - LinkedIn: https://www.linkedin.com/in/sanderdesnaijer - X: https://x.com/sanderdesnaijer - YouTube: https://www.youtube.com/@metSander - Demos: https://demos.sanderdesnaijer.com