All projects

Website & creative code

Wildcraft Group.

A website that
opens like a show.

Wildcraft Group is a separate company I founded. I built its website around Ghostlight, its product for rehearsing attractions before they are built. The site is drawn in code: a theatre, a character and a small coaster, with no framework underneath.

Visit wildcraftgroup.com
Design, creative code & infrastructureNo framework, no build stepLive since September 2026
The site’s opening: a dark theatre drawn in fine lines, its stage lamps coming on as a glowing purple ghost flies past them
01 / The openingA theatre in three dimensions, drawn on one canvas

The idea

A ghost light,
taken literally.

A ghost light is the single lamp a theatre leaves burning on an empty stage. The site opens on one. The camera flies over the seats to the bulb, a small ghost wakes up inside it, and every light he passes comes on. Then the stage opens out into the page, and the theatre’s floor becomes the site’s floor line. Any key, click or scroll skips it, and reduced motion never plays it.

The character

He is the
page’s light.

Nothing about him is an image. His outline is recomputed every frame, he floats on a spring, leans into his own movement, blinks and looks at the pointer. He follows the visitor down the page, and the type brightens where his light reaches. On a phone he keeps to the margin.

The Wildcraft Group site on a desktop: the Ghostlight wordmark and headline, lit from the right by the ghost
The headline is lit from wherever he is
The same page on a phone, with the ghost below the headline and its buttons
On a phone

The explanation

Shown,
not told.

How the product works is one pinned stage with four scenes, driven by scroll. He gathers the documents into a box, builds the ride piece by piece, watches it run with a clipboard and presents the findings. The coaster is generated, and everything that moves on it is a function of the console’s clock, so the ride and the timeline beside it can never disagree.

Scene one: drawings, specifications, schedules and cue sheets float above an open box, beside the ghost
01 Gather. The documents go in the box.
Scene two: a small isometric steel coaster with a station, lift hill, tunnel and two trains
02 Model. The ride is built piece by piece.
Scene three: the coaster running inside a console with seven system lanes and a signal-level inset, watched by the ghost with a clipboard
03 Rehearse. It runs on the console’s clock.
Scene four: a rehearsal report listing four findings, presented by the ghost
04 Report. The findings come out as a page.

Before the launch

A mark
that breathes.

Until the site launched, wildcraftgroup.com carried the company’s mark on a moving ultraviolet field. The field is a fragment shader running at device resolution, and the W is animated from the geometry of the brand kit’s own artwork, never redrawn. The same living mark now sits in the site’s footer.

The holding page: the Wildcraft Group wordmark on a moving ultraviolet field, with the line Returning soon
The holding pageSeptember 2026

Build & infrastructure

Drawn,
then proven.

A site that moves this much has to be checkable. I built the means to check it into the site itself.

No framework. No build step.
Plain HTML, CSS and JavaScript on Cloudflare Pages. The preview deploys to a project of its own, which cannot reach production.
Nothing inline.
The content security policy allows first-party scripts and styles only, so every animated value is set from script rather than from a style attribute.
Frames that hold still.
Add a time to the address and every animation freezes at that second. Checks and stills run against the same frame every time, and an evidence battery sweeps the routes, the bundles and the console before anything is called live.

Back to the system

PangeaOS