This is a selection of some of my recent projects that use programming as a tool to create generative installations and works of art.

The Creative Machine

In this series I wanted to question the notion that only humans can be artists. Recently I read an article about a monkey in Indonesia who stole a photographer's camera and took a picture of himself with it (link). Obviously the monkey wasn't aware of what it was doing, it was simply coincidence that his finger clicked the shutter button at the right moment to capture a well exposed and focused image. However, when the camera's owner tried to publish the photo he was told that he could not claim copyright because the photo was not his work, even if it was taken with his camera. Ultimately I believe that as artificial intelligence develops further, the same reasoning will eventually have to be applied to computers. In this project I developed a code that creates generative works of art entirely from scratch without any user input whatsoever. I have given the computer the tools required to create work that is truly original -- images I would never have been able to make myself. As a result I don't believe I am fully able to take credit for what my code has created. I have given the machine the ability to "think" creatively, but ultimately the thoughts my computer has are entirely its own. It is a collaboration between human and machine.

This piece was inspired by Scott Draves' Fractal Flame algorithm. It works in two simple steps. The first step generates a histogram for the image recursively based off of two randomly generated functions (these functions vary from linear to sinusoidal to spiral). The second step draws the histogram and scales the colour based on the number of iterations at a given point as well as the relative brightness at that point.

The images generated range from 1MP up to 100MP (determined by user) with higher resolutions theoretically possible with a faster processor. Each 100MP image takes ~45min to fully generate. For further inquiries please contact me via the contact page.

Thanks to Reyno Tilikaynen for his help with this project.



*This project is still being built - more images coming when completed*

The Interpretive Beat Detection NLE is a non-linear editing software designed and built by myself with some elements incorporated from Corey H. Walsh's work ( It uses an FFT beat detection algorithm to create and save keyframes from music files at the timecode where beats are detected. The user can then enter the NLE editing mode which allows them to add, remove, and reposition these keyframes to fit with their artistic vision. The program finally uses this keyframe data to play back the song and wirelessly activate RGB bulbs to turn on, off, pulse, change colour, change brightness, etc, in time with the playback.

I am developing this software for use in a music video project that is currently in pre-production. Unfortunately I cannot divulge much more information about the project and the use of this software until the video has been released, but I will update this page with a link to the work and a proper artist's statement once it has been finished. If you are still interested in this project and want to learn more please contact me via the contact page.