100 Days of Making

Since early 2019 I have been a strong advocate and practitioner of the ‘100 days of making’ movement, in which one chooses a theme and creates something new each day along that theme for 100 days. It is a practice that develops strong habits, liberates from artistic blocks, and improves creative confidence.

100 Days of Nature

Exploring natural phenomena one day at a time, in Unity, Blender, and Unreal Engine. See the full archive on Instagram

100 Days of Unity Sketches

Each day for 100 days I explored a new mechanic, simulation, or effect in Unity. View on Instagram for more detailed descriptions of each day

100 Days of Spaceships in Blender

Each day for 100 days I modelled or animated a spaceship concept in Blender. View on Instagram for detailed descriptions of each day.

XR Sketches

Voice Activated Finger Guns

Pew pew – built in Unity with Oculus hand tracking and Windows speech recognition


A prototype solution for a meeting in VR in which each participant sits at a desk of arbitrary height.


Hand Tracking Globe Rotation

Move a globe around in VR with your hands!

The Not So Subtle Knife

Slice open a window to other worlds.

Virtual Reality in VR

Experience Virtual Reality in VR. Made during the ITP stupid hackathon 2020.


This project is a collaboration with Emily Lin

Rising is an underwater exploration game. The apparent goal of the game is to reach the water’s surface. Along the way, monsters made out of trash weigh the player down. Eventually players realise there is no way to reach the surface, and the only way to win is to stay and fight against the trash.

View on GitHub Read more “Rising”


Blenduino is an almost-plug-and-play addon for Blender that facilitates easy access to a Serial data stream. Bringing information from the physical world into a virtual 3D environment has many potential applications, from experimental new interfaces for 3D modelling and animation to immersive interactive experiences that blend the real and the virtual.

Github Repo

Save Dave

Inspired by twitch, a class called Mashups, and the secret desire to watch the world burn, this project is a proof-of-concept in handing control of a Unity-built game to the twittersphere.

A node.js server constructs a maze and places Dave in the center. The data of that maze is broadcast to all connected clients – clients being any of the Unity games running in a browser.

The server listens to the twitter stream for appearances of a specific phrase, in this case “#savedave”. If a tweet with that phrase also contains a direction (up, down, left, or right), the server updates Dave’s position in the maze and broadcasts the change, along with the tweet responsible, to all clients.

The clients simply handle rendering the data onto your screen.

You can find the documentation as it stands, as well as a play-by-play account of my terrible panic when everything broke on launch, here.

NYUAD Open Studios

The entire NYUAD Arts Department opens their doors to the public on this intense evening of Works-In-Progress

My participation was both logistical, helping to prepare and organise the events, as well as creative, showcasing some projects in progress.

In 2016 Lecturer Pierre Depaz and I set up a live greenscreen studio that was broadcast around the campus to entice people to come in to the Arts Center and experience the event. For the finale of Open Studios, I developed a web-based app that would flash the screen and flashlight of a smartphone in different patterns that the dancers could control. With everyone gathered outside we pumped the music, launched the drone, and had a great collaborative dance party!

In 2017 I collaborated with the fabrication instructor, Dustin Foster, to create a neopixelled advertising board, I helped to laser cut and engrave a series of cardboard and paper animal masks, and I created a projection mapped audio visualiser that enveloped the outdoor dance arena.

Watch the 2016 dance party here.
Watch the 2017 dance party here.