— 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.

8 MIN

How to build a recommender system without user tracking

A recommender system without user tracking is built on content features and session-local signals, not cross-user profiling. Here is how we ship one — and the accuracy we trade away.

Machine LearningPrivacyRecommender SystemsEngineering
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
7 MIN

The JavaScript framework performance cost you never put on the invoice

The real JavaScript framework performance cost isn't the download — it's parse time on cheap phones, hydration, energy, and years of churn. Here's how we measure it.

PerformanceSustainabilityWeb VitalsOpinion
7 MIN

Working With a Web Design Studio in Portugal: How We Actually Operate

A web design studio in Portugal, based in Leiria and Lisboa. How a small senior team works: sprint-based, bespoke, engineering plus design plus 3D capture in-house.

StudioPortugalWeb DesignServices
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
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

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
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