The Lab

Experiments in
code, shaders, and form.

A living sketchbook. Ideas that are too specific to be projects and too interesting to leave on a hard drive.

  • GLSL ShaderActive

    Displacement Typography

    A fragment shader that reads typographic outlines as force fields and displaces a particle mesh along the resulting gradient. Letters become landscapes.

    • GLSL
    • Three.js
    • WebGL
  • UI ComponentShipped

    GlassSurface + BorderGlow

    Glassmorphism component with SVG displacement refraction, anisotropic border glow, and real-time postprocessing bloom. The core visual language of this site.

    • React
    • Three.js
    • SVG Filters
    • Postprocessing
  • GenerativePrototype

    Hydraulic Erosion Terrain

    Procedural terrain generation using a hydraulic erosion simulation. Each raindrop iteration carves the heightmap, producing river valleys and alluvial fans that emerge without being authored.

    • Three.js
    • InstancedMesh
    • GPGPU
  • Audio / VisualConcept

    Spectral Mesh Visualiser

    Real-time audio analyser mapped to a 3D mesh. Frequency bands drive vertex displacement; transients trigger bloom pulses. Web Audio API + geometry shader.

    • Web Audio API
    • GLSL
    • Three.js
  • EngineActive

    WorldEngine — Quality-Tier Renderer

    A runtime renderer that selects between High / Medium / Low quality tiers based on GPU capabilities, adjusting shadow resolution, particle counts, and postprocessing stack without scene interruption.

    • React Three Fiber
    • Three.js
    • Zustand