— JOURNAL · RSS ↗

Notes from the studio.

Writing on technology, design, VR, AI — and what it takes to ship them. Mostly long, sometimes short, occasionally wrong.

9 MIN

Three stacks we ripped out in 2026: Webflow, Sanity, AWS

What broke, what we saved, what we'd do again. Three honest migration walkthroughs with hours and invoices attached.

MigrationWebflowSanityCockpit
11 MIN

Twelve production lessons from building on Cockpit CMS v2

Self-hosted, open-source, headless. The things that bit us in production and the patterns that earn their keep.

CockpitHeadless CMSPHPSelf-hosted
5 MIN

Why we charge by sprint, not by hour

Hourly billing rewards slow people. Per-project billing rewards over-promising. Two-week sprints reward the only thing that matters: shipping something.

PricingBusinessStudioProcess
6 MIN

Designing accessible VR for hospitals

A VR app for a clinic isn't designed for the engineer who built it. It's designed for the 84-year-old patient who's never held a controller. Here's what changes.

VRAccessibilityMedicalUX
5 MIN

We track no users. Here is what we track instead.

No GA. No Plausible. No fingerprinting. The site you're reading sends one anonymous beacon per session — and we still know everything we actually need.

PrivacyAnalyticsGDPREngineering
6 MIN

What it takes to ship a Class I medical VR app

Most VR teams ship when the team thinks it's good. A Class I medical device ships when a regulator says so. Here's the gap, and what it cost us to close it.

VRMedical DeviceEngineeringMDR 2017/745
5 MIN

Why we still scan with Matterport in 2026

Photogrammetry got cheaper. Gaussian splats got everywhere. We kept reaching for the same Pro2 we've used since 2019 — here's the unromantic reason.

3D CaptureMatterportPhotogrammetryGaussian Splats
5 MIN

Mercedes silver across three light conditions

The brand colour is the same on a phone in São Paulo and a press kit in Stuttgart only if you build a colour pipeline that survives Algarve sunset, Lisbon overcast and studio strobes. Here's the one we use.

PhotographyColorLightroomBrand