I learned a whole new C++ framework to generate this 3D view of the Place Vendôme in Paris, with time-travel capabilities.
I created a fun Instagram/Facebook face filter with interactive 3D graphics.
I couldn't find the right application for my lighting-control needs on a specific project, so I wrote my own, in Rust. It has already proven useful far beyond the original project it was made for.
Sometimes a handful of Raspberry Pis' are all the "media player" you need. I tied together a webcam, some C, some NodeJS, and the built-in omxplayer to make a cheap-but-reliable container-scanning solution. The result was a fake "X-ray" display for a real conveyor belt.
A project for Nike House of Innovation in Paris, featuring contactless breath detection (using thermal cameras and Machine Learning) and an interactive screens+lights+sound experience.
In this project my role was essentially sound designer, but in a 3D audio context.
I built some prototype interfaces and WebGL transition effects for this media archive site.
This research project got me into training custom ML models for computer vision, and integrating 3D tracking with embedded IMU electronics.
For this project, I refined our in-house LIDAR tracking solution and designed a 3D printed enclosure just big enough to hide the sensors.
Create a (branded) experience, record a video automatically and send it to the user - how hard can it be? Turns out, it gets complicated pretty quickly!
BMW has a significant manufacturing hub based in South Africa, with thousands of employees. I helped develop a multimedia mobile web app to make their staff induction process fun and informative.
A chance to experiment with Generative AI services in a playful context. This also turned out to be an exercise in leading three very junior developers into their first experience of web application development.
An installation for a flagship Boucheron store in Tokyo. An interactive "shrine" turned users' messages and scribbles into a unique generative music piece.
I built a shareable browser-based prototype for designers, artists - and the client - to pre-visualise the light show for this interactive sculpture.
An interactive spray can powered by some ordinary batteries and no motion sensors or wireless data. How?
On this project I played solo game developer and I built a fun "interactive floor" game with simple rules and spectacular graphics.
Apart from designing much of the system architecture for this Nike Paris installation, I also programmed WebGL graphics for the game and wrote a custom multi-channel web audio library.
My main focus was building the sensor technology behind the custom screens-on-rails exhibition pieces. A highly mechanical user interface blended seamlessly with digital graphics and sound.
This fun interactive "mirror" installation won us an award for the best installation at CineKid in 2019. Featuring browser-based ML computer vision and handling tons of data.
I helped to set up this installation for New Balance in Shanghai, and added some fun interactive audio weirdness. It's all about light and sound - no screen in sight.
On this project, I used A-Frame (a web VR/AR framework) in an unusual context: a fashion catalogue presented in a custom-built "streetview"-like website.
This high profile product launch for Glossier "You Fleur" perfume featured a sophisticated interactive installation that I carefully crafted to make the technology almost disappear from sight.
We stopped searching for the One True Creative Coding Framework To Rule Them All; instead we built a comprehensive set of tooling and standards that made our work significantly easier and faster.
I contributed some high speed (90fps) head tracking on this prototype "mixed reality" display system.
This project for online fashion outlet Farfetch was beautifully simple in its concept but required some serious technology (including TensorflowJS) to make it work.
Before joining Random Studio in Amsterdam, I spent years developing all kinds of high-tech installations, games and interactive displays in Johannesburg, South Africa.
This was a custom-built showroom installation, featuring an interactive table display with a tangible-object interface, an iPad and a video wall.
Proposing a tool I don't particularly like (TouchDesigner) nevertheless allowed me to collaborate with a team of non-coders to produce this seriously fun audiovisual plaything.
My contribution to this project was twofold: LIDAR User Tracking and 3D Spatial Audio Programming