Work

caedux's budget tracking view, splitting a grant into personnel, equipment, travel and other costs.

caedux

Grant management software. From opportunity to acquittal, manage every grant with confidence.

I'm CEO and co-founder, with Victoria Pham as COO and co-founder.

Subtitles by Agus Wijaya on Runway Journal: a looping video of a shoreline with the work's description and settings beside it.

Subtitles

Agus Wijaya

A looping video with subtitles that describe, anticipate and misread it. Runway Journal, Issue 51: Translation.

I built the work for the web: subtitles that respond to the viewer's cursor, a choice of subtitle font and language (English, French, German or Indonesian), and an audio description.

TypeScript, Kirby

Crónán an Beiche Aonair (Hum of the Lone Bee) by Jacqui Shelton: a newspaper clipping from 1875, with a notice that the work contains audio from bees.

Hum of the Lone Bee

Jacqui Shelton

A bilingual essay about a woman arrested in Coburg in 1875. Runway Journal, Issue 51: Translation.

I built a soundscape of bees that grows and fades as the reader scrolls through the essay.

TypeScript, Web Audio API, Kirby

Tonight, I dreamt of a bright guiding star by Isabella Hone-Saunders on Runway Journal: the title on a lilac page above a photograph.

Tonight, I dreamt of a bright guiding star. Together, we walked to a dark black star.

Isabella Hone-Saunders

Runway Journal, Issue 50: Correspondence.

I built the work for the web.

Kirby

The coma.org homepage: black-and-white photos of ensembles under the heading Contemporary Music for All.

CoMA

Online shop and database for Contemporary Music for All, which runs music ensembles across the UK.

I took over their WordPress shop and the large custom plugin behind it. I rebuilt the plugin so it's easier to maintain, added product filtering and tests, and replaced editing the live site with a proper development workflow.

WordPress, WooCommerce, PHP, MySQL

Straddle Poker

A tournament timer for home and club poker games.

I built the whole product. It works out the blind structure from the number of players and the time available, calculates payouts, and has a TV mode and skins. Designed with R A A D Studio de Création.

TypeScript, React, Hono, Cloudflare Workers, Drizzle, SQLite

Title screen of The Parts We Give: a pixel-art character under the game's logo.

The Parts We Give

A pixel-art browser game that accompanies Christine Pan's song cycle, made for FABLE ARTS.

I wrote the game from scratch: the world, the quests, crafting and sound.

JavaScript, Howler.js

Earthly Futures

Events calendar and booking for a Paris studio that makes design objects about nature and ecology.

I built the events calendar and the booking flow, and redesigned the site's header and footer.

JavaScript

Jack Farman's homepage: his name above three films, Faire oeuvre faire écosystème, Exposome and Eaux et pays.

Jack Farman

A portfolio in French and English for filmmaker Jack Farman, with his films and his composting project, Le Koinpost.

I designed and built the site: three films playing side by side on the homepage, a page for each film with its screenings and partners, and a map for Le Koinpost. Films show a still while they load, and play on iPhones.

TypeScript, React, Leaflet, Vitest

Niki Johnson's website: a red sidebar menu beside a photo of her with percussion instruments.

Niki Johnson

A website for a percussionist and composer-performer.

I moved her site from a custom build to Squarespace, then optimised and restyled it and added new pages and content covering her performances, research and teaching.

Squarespace, CSS