I love building interactive tools, especially ones which turn public information into intuitive, human-centred experiences. I also like making things out of wood.

Artflip: A Svelte-powered gallery tool for serendipitous discovery of public domain art. Updates weekly with new art pulled from global museum APIs.

Artflip

A Svelte-powered gallery tool for serendipitous discovery of public domain art. Updates weekly with new art pulled from global museum APIs.

Svelte Python Public Domain
Explore Artflip →
Big Pause: A mindfulness app built with JavaScript and DaisyUI, designed to provide calm resets in a noisy digital world. Take 30 seconds to pause.

Big Pause

A mindfulness app built with JavaScript and DaisyUI, designed to provide calm resets in a noisy digital world. Take 30 seconds to pause.

JavaScript DaisyUI
Explore Big Pause →
Not-Quite-an-Anarchist Workbench: A pine workbench inspired by Christopher Schwarz’s cult-favourite design, with a few deviations. Blackboard legs, baby vice.

Not-Quite-an-Anarchist Workbench

A pine workbench inspired by Christopher Schwarz’s cult-favourite design, with a few deviations. Blackboard legs, baby vice.

Wood Hand tools Sweat Tears
Explore Not-Quite-an-Anarchist Workbench →
Home Home Home: 1988's hottest website. An imaginary Web 0.1 portal experience from before the information superhighway was born.

Home Home Home

1988's hottest website. An imaginary Web 0.1 portal experience from before the information superhighway was born.

JavaScript Nostalgia
Explore Home Home Home →
Ramah: A good news aggregator that using Python, Vader and Textblob for sentiment analysis to filter for positive stories. Updated hourly, with JSON and RSS/XML feed available.

Ramah

A good news aggregator that using Python, Vader and Textblob for sentiment analysis to filter for positive stories. Updated hourly, with JSON and RSS/XML feed available.

RSS Python Tailwind Vader
Explore Ramah →
Low Staked Stool: A pine and eucalyptus wedged tenon stool. A combination of two designs by Christopher Schwarz and Rex Krueger.

Low Staked Stool

A pine and eucalyptus wedged tenon stool. A combination of two designs by Christopher Schwarz and Rex Krueger.

Wood Hand tools
Explore Low Staked Stool →
Littledrop: Hand-drawn, top-down, pond-rewilding fun. Written in Svelte by me, artwork by my kids. A very simple game loop (splash the lillypads to win).

Littledrop

Hand-drawn, top-down, pond-rewilding fun. Written in Svelte by me, artwork by my kids. A very simple game loop (splash the lillypads to win).

Svelte Coloured Pencils
Explore Littledrop →

Toolkit

I mainly work with:

  • Frontend: Svelte, JavaScript, DaisyUI
  • Backend & Data: Python, Pandas, SQL, D3.js/Chart.js
  • Automation & Pipelines: GitHub Actions, Cloudflare Workers
  • Woodworking: Hand tools & the occasional cordless drill