Much of my artistic output over the past few years has involved a significant amount of computer programming. I have 10 years of experience using the Max MSP visual programming language, with specialisms in the Bachreal-time composition/notation library (including an understanding of lisp-like linked lists) and the Jitter real-time video software included as part of Max.

My skills with Max were recently developed by undertaking the intensive Cursus for composers at IRCAM. I can also write JavaScript and Python. I am largely self-taught with these languages, although i did a remote Stanford Code In Place course in 2021.

This website was written by me, creating a backend using Google Firestore and a front-end which uses JavaScript to create complex filtering, populating the page from my database, placing free downloads of scores behind an email wall, and allowing simple text searching of the works page etc.

Most of my code is written for myself, so it is often a proof-of-concept rather than production-ready software. But I do contract work from time to time.

Some examples of my code: - my IRCAM project presented through a complex interactive web page

tHaasX - an emulation of the THX Deep Note with lots of extra partials and a visualisation of trhe oscillators (doesn't run super well on mobile phones)

ghost-box - emulates an auto-scanning FM radio using web radio stations: use this to find ghosts

Web Radio Shuffler - shuffles and crossfades a huge database of web radio stations to create a Cageian browser performance

Radio Time Travel - simply finds random web radio stations and does a beautiful HTMLMediaElement time stretch on it

YouTube Cue Player - crossfades YouTube videos from a list inputted by the user (could be used as a graphic score) - searchable/filtered database-driven catalogue of my works. In fact, I designed the whole website myself - my GitHub page (most of my Max projects are still private though) - a basic proof-of-concept of a browser-based version of ChatMusic (using a persistent live web chat stored and retrieved from a Firestore cloud database). This is most fun if you can co-ordinate with a couple of friends to be online at the same time! Be aware that there is currently NO moderation - interactive website converting text input from the user into music notation and sound - super fast and efficient display of music notation in the browser (conversion from a text file) - an interactive instrument using the API

Basic WebAudio Experiments - basic web audio experiments (including a cool implementation of the THX deep note)

Tech-heavy pieces (available on my works list):

Stolen Music

(2022) a set of pieces + website investigating the impact of copyright law / attitudes to ownership on creativity and artistic freedom. Incorporating Max MSP, advanced Jitter video processing, MUBU (file segmentation; corpus-based concatenative synthesis), Python and moviepy, Orchidea (command line version automated through Python), Da Vinci Resolve and Fusion, fixed media audio, interactive web pages built in JavaScript, WebAudio, Freesounds API, OpenGL etc.


(2022) a set of animated video scores generated using Bach/Max MSP and a particle system made in Jitter to morph between text and video. Then assembled in DaVinci Resolve.

500 minutes of microtonal piano music

(2022) [YouTube release of 500 short procedurally-generated piano pieces]. Created using Bach library, Max, batch processing with Lilypond/musicxml in the command line


[concept/programming; collaboration with Carl Ludwig Hübsch; conversion of online Twitch chat to music notation in real time] (2020-22). Created using Bach, Max MSP, Jitter, node/JavaScript/python, Twitch API

My skillset:

Programming languages:

MaxMSP, Bach real-time music notation library, Jitter (expert),
JavaScript, MUBU, Orchidea, (strong knowledge),
Python, Firebase (as back-end for websites), MoviePy, FFMPEG, WebAudio, ABCJS, NodeJS, OpenMusic, Modalys, OpenGL, Google Scripts (working knowledge)

Production Software:

Reaper, Cubase, Audacity, Dorico, Sibelius (including professional typesetting work), DaVinci Resolve / Fusion, Premiere Pro, Excel, Google Sheets, Word, etc. (expert or strong knowledge).

OBS, networking software & protocols, TS2, AudioSculpt, Arduino, Raspberry Pi, After Effects, iZotope RX (working or basic knowledge)

Can adapt very quickly to new software; comfortable using my own initiative to figure problems which are new to me. Comfortable working with a command line interface. Fluent in MacOs and Windows. Basic knowledge of Linux. Learned to code by designing own website with complex filtering of a database in vanilla JS + Firebase backend to create a well laid-out and adaptable index of works populated from the database.

Live production experience:

Founder, artistic director, production manager, responsibility for building and managing tech solutions for interdisciplinary experimental events, and for project managing major events from the funding stage to completion with hands-on experience of almost all technical roles. The ensemble has given over 100 concerts. (2012–)

Founded DIY venue Unit 44 in Dublin and defined and installed its technical specifications (stereo + 8.1 sound, Yamaha digital mixer, ultra-short-throw projector, multi-cam recording/streaming rig with ATEM Mini Pro ISO, basic DMX lighting with custom Max patch etc.), also responsible for curation and strategic oversight of the venue.

For Private Use

(2021) online collection of new text and multimedia pieces designed for performance by members of the public who are not musically trained


(2020) series of guerrilla popup site-specific performances around the Dublin Bay Biosphere, engaging with climate change; contributed the piece Tide Quartet (where a string quartet performed in the ocean until the tide reached their necks), and curated and managed the project

The Buffer Zone

(2019) artistic director, sound engineer, project manager for brand new production of this chamber opera by Yannis Kyriakides

Listening Bodies (2019),

Speaking of Music(2019),

Body Noise Work (2018),


(2016). Project manager and production management for large-scale experimental inter-disciplinary happenings, requiring unique solutions to complex production and tech scenarios


(2015) series of theatrical concerts in darkness, responsibility for artistic direction, joint responsibility for production management, public safety, prop design and building