Selected works

6x9: virtual reality solitary confinement

Design, UX, development

6x9 is the Guardian’s first virtual reality experience, placing you inside a US solitary confinement prison cell.

As creative technologist I was responsible for working closely with the Mill and Guaridan editors, prototyping interactions and audio in Unity, managing the multi-platform apps and 360 release and creating the WebGL powered landing page.

3D Tour de France

Design, UX, development

Responsive 3D WebGL interactive combining mapping, satellite terrain images, 3D modeling and HTML5 technologies.

I wrote a full How I made the webgl interactive where I explain the different technologies and development steps.



Video rich multimedia experience telling the story of the Australian bushfires . A blend of long form writing, video documentary and interactive elements.

BBC homepage

UX, development

Frontend development and animation of the BBC homepage including main navigation carousel.

Exposed webcams

Design, development

There are thousands of IP webcams exposed on the internet without the knowledge of their owners. This experiment cycles through differnt public webcams putting you in the position of a voyeur.

The Journey

Design, development

Syrian refugee Hashem Alsouki risks his life crossing the Mediterranean, his sights set on Sweden. Blending long form journalism with seamless video playback and responsive image presentation. Guardian’s first Facebook Instant article.


Design, development

I love glitch art so I decided to create a tool that allowed me to produce my own glitched artwork.

By directly manipulating the <canvas> image date I am able to create numerous filter effects.

The Speech


Fifty years since the Martin Luther King's most famous speech, this multimedia experience combines video, background audio and photography to tell an immersive story.

News glitch


Personal experiment visualising the popularity of breaking news. Increasing article counts decrease signal-to-noise resulting in degraded images. Combines Google News API, social media search results and dynamic image generation.

GPU accelerated particles webgl


In the process of learning about GLSL shaders I created a GPU accelerated system

Gameboy pocket webgl

Modeling, texturing and development

Personal project in exploring UV texture mapping and Blender model exporting to WebGL using THREE.js

Notification prototype [talk]

Project lead

I present the idea for a notification bar system that allows readers to follow and receive updates to liveblogs, authors and comments. The presentation includes a working prototype using existing Guardian APIs.

Scottish referendum

Design, development

Real-time dashboard reporting the Scottish referendum results as it happened. Combined Google spreadsheets, node.js and AWS to create a robust work flow pipeline.

Walled World

Screenshot of Guardian Walled World interactive

Design, development

Using satellite imagery, SVG animations and video to chart the new walls being built around the world that divide people from their neighbours.