Raufun

Case studies

Work, in full.

These run under client and agency branding, so they are described by sector and scope. Names removed, everything else exact.

A control center for a fleet of client sites, rebuilt off WordPress.

Agency fleet of client WordPress sites

The situation
The agency's own site moved to Next.js, which killed the WordPress endpoint every client site phoned home to. Every site in the fleet started failing its heartbeat and showing admins a warning.
What I built
A Cloudflare Worker with a SQLite Durable Object and a capability-URL dashboard. Sites enrol and receive commands over HMAC-SHA256-signed requests verified on raw bytes; each site owns its token and the hub pins it on first contact, so a fresh, empty hub re-pairs the whole fleet by itself.
Result
Fleet back online without touching a single client site. No data migration, ever, by design.

Content that never went live and a bill that kept climbing, one root cause.

Plumbing company, Next.js and Sanity on Vercel

The situation
Editors published and the site kept serving old pages. Separately, hosting usage rose month on month on flat traffic. The revalidation webhook had returned 401 on every delivery since April: the secret contained a plus sign that the query-string parser turned into a space.
What I built
Secret moved to a header and compared byte for byte; cron-driven scheduled publishing with 24-hour ISR windows so pages regenerate when content changes, not every few minutes.
Result
Publishes land in seconds. Diagnosed from the usage page, not the code: the money was in ISR writes and build minutes, and the next invoice showed it.

Ads that were learning from a fraction of the real leads.

Window and door company, paid ads

The situation
The pixel had only ever been placed on the thank-you page, so it never saw the click ID on the landing page and every lead reached the ad platform unattributable. Ad blockers and iOS took the rest.
What I built
Pixel and click-ID capture on the landing page, a small server-side plugin relaying each lead through the Conversions API with a shared event ID for deduplication, and the discovery that a server-side redirect was stripping the click ID before the page ever saw it.
Result
Browser and server events matched in Events Manager instead of a pixel counting alone; the spec became the agency's reusable CAPI playbook.

A homepage film that plays with sound, on browsers built to stop it.

Advocacy campaign, WordPress

The situation
The campaign wanted its film to start with sound the moment the page opened, which every browser blocks. Loading the player eagerly had also pulled a megabyte of script and five third-party cookies into every visit, for a mobile performance score of 49.
What I built
The player starts muted so autoplay is allowed, unmutes itself the moment the browser permits, and falls back to a single tap-to-unmute overlay when it does not. The player itself now loads on the visitor's first interaction instead of on page load.
Result
Sound where the browser allows it, one tap where it does not, and a page that no longer pays for the player before anyone scrolls. Verified on the live site.

More work

Push to main, and every client site updates itself.Agency plugin suite, GitHub Actions
A page for every suburb they serve, not one list.Metro plumbing company, local search
Service pages split by search intent, with the phone number as the conversion.Residential plumbing company, WordPress
Interactive 3D product models on a site that refused the files.Architectural visualisation studio, WordPress
An importer that will not overwrite a human.Legal directory, WordPress plugin
A deals showcase the client updates themselves.Commercial lender, Elementor and ACF
A ten-screen quiz funnel that only forwards the leads worth calling.Real-estate lender, lead qualification
Booking and funnel pages that were quietly dead.Business funding company, WordPress and a CRM
A video hero that loads, and a mobile menu that finally opens.Tree service, WordPress and Elementor
A seasonal storefront that is quick on a phone when the orders arrive.Firewood supplier, e-commerce
Fifty domains authenticated, one by one.Marketing agency, email infrastructure