top of page


Here, you can find a selection of things I made, drew, or coded. Professionally, I'm currently researching Machine Learning. However, my passion lies in Theme Park Special Effects. I'm convinced that ML control systems will make unparalleled effects possible, but for now, I just love rebuilding 60s-style SPFX projectors.


Fire Projector #2 (by Yale Gracey)

Based on Yale Gracey's original SPFX sketches that surfaced a few years ago.


Yale's original sketch.

Wide-angle mode

With focusing lens

Screenshot 2024-01-25 074128.png

SolidWorks model and assembled projector.

Gaze Contingent Optical see-through Head Mounted Display (HMD)

The current generation of VR and AR Headsets suffers from the so-called vergence accommodation conflict. It occurs when your eyes perceive an object at a different distance (a virtual dinosaur in the middle of your room) than the distance at which your eyes are actually focusing (LCD screen 5cm from your face), creating a sensory mismatch that leads to visual strain. We are the first to propose a movable light-field display that allows us to place virtual objects freely in the visual space.

Invariable IPD w display.png

Fusion 360 Model

Our design uses an eye tracker to place the image plane at the user's focusing distance. Since the eye tracker introduces an error, we account for this by moving a whole light field instead of just a display. In a light field, the user can freely focus, thereby removing the placement error.

Virtual fairy at same distance as sheep. Positioned at 33 cm from user.


If the user focuses his eyes on the correct position the virtual object will be clearly visible...


First prototype. Two layers of LCD screens spanning the light-field. Can be moved individually or together to change or keep the focusing volume.

Virtual fairy at same distance as unicorn. Positioned at 120 cm from user.


..., but if he focuses at a different distance the virtual object will get blurry. Like any real object.


"Scream" Escape Room Puzzle

Unique horror-themed escape room puzzle for a haunted house that can only be solved by screaming.


Morse blinking circuit realized with Arduino Nano and hand-soldered circuit board.

Show Set construction

Above door to next room sits lamp blinking in Morse code. Keys to deceiver  message written on walls in invisible UV paint. Room features multiple sound-activated UV strobes. Guests have to scream to activate strobes and decode the message to unlock door. 

Final installation

One-day Build: Theatre in a Locker

Final project for the UAL Theatre and Screen Design Summer class. Pepper's Ghost center stage with a twinkling star background.

Twinkling star SPFX "system" built from found objects.

Final product

For the star FX I used an old Broadway trick. I punched holes into the backdrop and hung lit mirror shards behind them. A fan adds motion to the mirror mobile, which results in a twinkling effect. 


First sketch

Lyceus Theatre.png

Exhibition poster


Work progress

Garbage Disposal SPFX

Horror-themed escape room finale. After all puzzles in the room are solved, the metal grating in the sink pops open and reveals the "drain" that holds the key to the next room.

PVC pipe with pulsating red light at bottom. Spay painted fan behind acrylic glass mimics the rotor of the disposal. Magnetic plate to hold key in between electric contacts. Deliver shock when touched.

Magnetic lock turns off and grating pops open.

FX right after installation. Metal contacts deliver slight electric shock when touched.

Firefly-in-a-Jar SPFX - work in progress (still)

An FX I've been tinkering with for years now. Inspired by Yale Gracey's fireflies for Pirates, my goal is to create a life-like version that works on a smaller form factor, close up. Namely in a jar.


My very first sketch. The motor idea didn't really work out because I had problems hiding the rod.

Version 2: UV painted bead on monofilament. The blinking never really worked and having a motor on top destroyed the illusion.

Version 4: Same magnetic system as in V3, but with added micro LED. The whole FX is controllable with a gamepad. However, the LED required a stronger magnet as a mount, and the invisible thread turned into a clearly visible cable.

Still not done with it. The current iteration uses an inductive LED, which removed the cable but made the magnet propulsion more complex. Up and down movement still in the works.

Version 3: New propulsion system. Micro magnet on invisible thread. Array of electromagnets around (or under) jug. Quite convincing, but no blinking.

"Dynamic Pepper's Ghost" - proof of concept

An inherent problem of any Pepper's Ghost system is the space that it requires. If you want to have a ghost appear 5 m in front of you, you'll need an equally long corridor to the side. The "Dynamic Ghost" is a variation of the classic ghost with a reduced form factor.

The brief required to change the guest's reflection in a mirror. However, the space behind the mirror was blocked, so a one-way mirror was no option. Decided on using a pepper's ghost.


The problem with this setup is that the ray path is doubled due to the mirror. Requiring an even longer hallway to the side.


Solution: Just add a magnifying lens, with the content placed closer than its focal length.

However, virtual content has to be used and specially rendered to account for the lens distortion:

Barell Distortion_edited.jpg

Quick 3D printed prototype using picture frame glass as beamsplitter and a random fresnel lens. Form factor reduced by 50%.

In the end, nobody wanted to deal with it, and we just tore down the wall :') But the concept is still neat.


Various examples of CV & CG coding projects I did.

Custom AR Shadow mapping shader in Unity. Gravel picture is real and serves as marker for virtual cube. Position of real light source in room is estimated, and cube casts virtual shadow on real surface accordingly.

DIY Beatsaber implementation in Unity.

Self-implemented 3D pose estimation algorithm based on natural feature detection. 

* Package cover done by Wim Berkers and Chloé Falco-L'Hérault. Element List joint effort of  all departments.

Attraction Design - Work Sample

As part of the NextGen Showcase Class of 2022/23, my team and I designed the interactive dark ride "Festival Frenzy," for which I served as Technical Director. The final package we delivered had over 110 pages, but here's a short selection of work I contributed*. Mainly the show building, scene elevations, and reflected ceiling plans. All done in Autodesk Revit.


I'm, by god, no artist, but I believe that everybody who wants to work in themed entertainment should be able to communicate visually to some degree. Therefore, here's a random selection of my sketches and drawings:


Albrecht Dürer, 'Battle of the Sea Gods' (1494) - pencil study


Male figure pencil study


Hubert Robert, 'View of a Roman Bath with Figures in the Foreground' - watercolor study


Hubert Robert, 'Personnage dans une Baie a Saint-Pierre de Rome' (1763) - watercolor study


Character design study

See you next time!


Female figure pencil study


Ballpoint pen sketch of Foggini's sculpture 'Samson and the Philistines' (1749)

bottom of page