— LAB · OPEN SOURCE & EXPERIMENTS

Things we made for no good reason.

Open source. Half-finished demos. Shaders that took a weekend. Tools we use internally and forgot to keep secret.

— DEMO 01

Orbital Trace

80 dots on a hue-cycling ring. Pure canvas, ~30 lines.

— DEMO 02

Flow Field

Particles drift through a Perlin-like vector field. Restart on click.

— DEMO 03

Truchet Tiles

Random arc-tiles compose into endless looping textures.

2026 · GITHUB ↗

Responsive type scale with CSS clamp(), no media queries

A fluid modular type scale that resizes between two viewport widths with a single clamp() declaration per heading. Pick base + ratio, copy CSS + Tailwind config.

HTMLCSSclamp()Modular scaleTypography
2026 · GITHUB ↗

Colour system generator: one hex, four output formats

Drop in a brand hex. Get an 11-step scale, semantic tokens, dark-mode pairing, and copy-paste output for CSS, Tailwind, SCSS and Figma Tokens.

HTMLJavaScriptHSLDesign tokensTailwind
2026 · GITHUB ↗

PHP image proxy with WebP negotiation

A 30-line PHP proxy that fetches images from a headless CMS, negotiates WebP via Accept header, and caches them with 30-day immutable headers. The whole thing fits in a single file.

PHPcURLWebPCloudflare
2026 · GITHUB ↗

Generative SVG cover system

The cover image on this card was rendered server-side from your slug. No designer, no upload, no asset pipeline. Deterministic geometry + type + cache headers.

PHPSVGcrc32Cache-Control
2026 · GITHUB ↗

Static-PHP i18n at OVH scale

An i18n stack that works on cheap shared hosting where mod_rewrite QSA breaks: URL path parsing in PHP + a JS link-rewriter at boot. No frameworks, no build step.

PHPJavaScriptApacheCockpit CMS
2026 · GITHUB ↗

Brand colour pipeline tester

A tiny WebGL viewer that shows a single hero colour rendered under three light conditions side-by-side. Drop in a hex, see if it survives Lisbon overcast.

WebGLThree.jsGLSLVue 3
2026 · GITHUB ↗

Matterport tour audit script

A small Node script that crawls a Matterport tour and flags common quality issues: unreachable rooms, missing hotspots, broken transitions. Internal tool we now ship to clients.

Node.jsMatterport SDKTypeScript
2026

Live code panel — what you see, while you read

The 'made while you read' panel on the homepage is real code, running. Here's how the live canvas + token stream works — and what we learned tuning it for sub-100ms repaint.

Canvas 2DrequestAnimationFrameJavaScript