I build interactive installations and generative visuals, mostly in WebGL and GLSL.
Over the last 7 years I've shipped 23 commissioned pieces, from gallery walls to a
12-metre LED facade in Cardiff. My shaders have crashed exactly one projector,
and I still have the photo.
Runtime // Work
Lead Creative Technologist
Feedback Loop Studio · Bristol
2022–present
Built the render engine behind 9 permanent installations, each running unattended for 14+ hours a day with a mean crash rate under 1 per 60 days.
Cut shader compile stalls on a 4-screen video wall from 900ms to under 40ms by precompiling variants at install time.
Mentor 3 junior coders; all three shipped a solo piece within their first 8 months.
Creative Developer
Hexdump Collective · Bristol / remote
2019–2022
Wrote the particle system for a touring audiovisual show seen by roughly 40,000 people across 11 venues.
Ported the collective's Processing sketches to a shared WebGL toolkit, reducing per-project setup from 2 days to 3 hours.
Front-end Developer
Bramblewire Agency · Bath
2017–2019
Delivered 14 client sites; the two award submissions both placed in regional shortlists.
Introduced canvas-based hero animations that lifted average session time on 5 campaign sites by 31%.
Stack // Channels
R · Graphics
GLSLWebGL2Three.jsTouchDesigneropenFrameworks
G · Code
TypeScriptRust (wgpu)PythonNode.js
B · Hardware
LED matricesProjection mappingMIDI / OSCRaspberry Pi
Boot // Education
BSc Computer Science
University of the West of England 2014–2017 · First class · dissertation on real-time datamoshing
Shader School (self-directed)2018 · 100 days, 100 fragment shaders, all public
Output // Selected
SIGNAL DECAY2025 · solo show, Arnolfini foyer, Bristol · 6-week run
Packet Loss2023 · group show, Spike Island · interactive wall, 3 screens
Cardiff Facade Commission2022 · 12m LED facade, generative weather-driven piece