The Body Shop
An interactive timeline of Anita Roddick's life, fed from XML, and a rich-media banner for a rainforest hair-care range with a 3D fish.
Work
Five projects from the last ten years, then a look back at my agency work from 2007 to 2016, and a few experiments.

A secure email and print service between prisoners and their families, which I ran for ten years in three Italian prisons: Velletri, Latina and Regina Coeli in Rome. Families write by email; the messages are printed and taken in, and the handwritten replies come back on QR-coded sheets that are scanned and sent on as email. In 2025–26 I rewrote the whole system around the operator's day: Haxe compiled to a Node.js server and plain-JavaScript browser clients, with its own mail servers and a PDF print pipeline.

Scheduling for Cambridge exam centres, which I co-founded in 2026 with an examiner. Centres plan their sessions and assign examiners and invigilators whose qualifications fit; everyone confirms by SMS, email or Telegram, and anyone who hasn't answered 25 hours before is released so the place can be filled. Several centres share one installation, in English and Italian, and it is now in beta with a Cambridge exam centre in Italy.

Brand identity, website design, development and hosting for a treehouse builder in the UK, since 2016. The new WordPress site has a custom theme with a projects system, a filterable gallery of 257 photos and animated heroes in GSAP. Now I'm building a Play Area Builder that prices a play area as customers plan it, and I run their server and email too.

Identity and an online shop for a Bristol clothing brand made from organic and recycled materials. I designed the Carbon Conscious logo, then built a WooCommerce shop on a custom child theme, with a looping video masthead written in Haxe. Every item sold plants a tree: when a payment completes, the shop orders it through the Ecologi API.

Identity, website, signage and hosting for a psychology practice in the Castelli Romani, south of Rome, since 2020. A tree logo in greens and greys, carried onto the brass door sign, business cards and posters; a WordPress site with its own icon set for adults, couples, children and families; and the site and the practice's email hosted on a server I run.
From 2007 to 2016 I worked freelance for London agencies, mostly on rich-media advertising, games, apps and microsites in Flash: about 200 projects for Clicked alone. Flash is gone, so these pieces were recorded from the original files running in Ruffle, a Flash player for today's browsers.
Also for: Disney, O2, Sony, Moonpig, Vonage, Heineken, Visa, Yahoo, History Channel, Southern Comfort, Roxy, Crocs.
An interactive timeline of Anita Roddick's life, fed from XML, and a rich-media banner for a rainforest hair-care range with a 3D fish.
A quiz banner (“How long could you go without food?”) and an MSN takeover panel with a frozen TV and icicles.
A competition MPU: win seats on the Samsung Slideliner, plus hundreds of other prizes.
An MPU for the Autumn Winter 2013 collection.
A Facebook app that took your photo with the webcam and turned it into a police mugshot. It needs a webcam and a Facebook login, so it is shown here as a slideshow of screenshots.
A screensaver built around light-painting photographs. Two minutes of it here.
An MPU for a new lingerie range, three selling points in turn.
A launch MPU for Europe's first 8-megapixel cameraphone: a hand slides the phone and camera around the frame.
An MPU animated in code, with blurs and a colour flash over a field of bokeh lights.
An animated presentation for the BBC's training and development team.
A small quiz banner for a spread-betting firm: storms in the North Sea, so do you worry about the cod at your chippy, or buy Brent Crude?
Things I make to learn, or because I want to see if they work.

A playable TR-808 drum machine with one engine in Haxe and the same front end built in Haxe, React, Vue and Angular. Switch between them while it plays, then see what each one costs.
Play it and see the results
The animation at the top of the home page: real lichen cut from a photo of Norwegian rock, growing into my face and a few icons, reacting to the pointer. Tap it for a ripple. Canvas and plain JavaScript.
See it on the home pageA 3D fly-through of a Squirrel Design treehouse, made with Gaussian splatting from ordinary video on an AMD graphics card, then cleaned up with Real-ESRGAN and ProPainter. Research for their new site.

A small photo grader in Python that gives pictures the look of 1960s colour film, with a batch mode for whole folders.
film60 on GitHub