About me

View CV

I’m a self-taught software engineer — coding for most of my life, on the web since eight-years-old. The work I’m drawn to tends to be both technical and highly visual; making complex interactions feel legible, not frustrating.

Selected work

The node editor, linked above, was built to address an editorial bottleneck at a startup running interactive educational workshops. Narrative arcs relied on pointers to the referred content of each decision branch, exposed as a CMS reference field. As relationships were unable to be visualised in-editor, people had taken to printing drafts and arranging them on a tabletop. This came of my refusal to join in that practice.

600+ lessons are managed through the editor; it is now used by non-technical contributors, and as a visualisation tool when pitching tailored content to schools.

I’ve included a deploy of an early landing page for the company. Built with Astro in SSR mode, the production site also encompasses moderation dashboards and game output.


A small, but neatly resolved, open-source package. I had long thought it too trivial to share, but the plugin proved quite useful over the course of internal use — reducing the perception of luminance banding and stacking conflicts. These are concerns too intricate to get consistently right without a common abstraction.


I’m also a practising artist. My research engages the philosophy of technology, looking at instruments (concrete and abstract) to examine technic, from technē.

The index of this site functions as a collection of my work. Check out the image colour averaging in place of LQIPs, especially on a throttled connection; and area-based scaling, which ensures carousel images are perceived to be of similar size.