Visual
Studio
Our expertise spans across experiential journeys, mixed reality applications, generative art installations, and interactive artworks. Our commitment to innovation drives us to explore the intersection of digital art, interactive design, and immersive storytelling.

Teal Plasma
GPU-rendered plasma field built in GLSL. Every pixel computed on the graphics card — move your cursor to warp the interference pattern.
Move cursor to warp the plasma field

Particle Storm
18,000 particles suspended in three-dimensional space. Mouse movement controls camera rotation — revealing depth and structure in the chaos.
Move cursor to orbit the particle cloud

Neural Flow
Perlin noise flow field rendered with 900 autonomous agents. Each particle follows invisible force vectors — the cursor bends the field.
Move cursor to bend the flow field

Void Portal
Raymarched 3D geometry using Signed Distance Functions. Three nested tori and a sphere — entirely computed per pixel in GLSL. Move cursor to orbit.
Move cursor to orbit the structure

Void Tunnel
150 concentric shapes morphing between perfect squares and circles. Mouse X warps the dimensional twist, Mouse Y controls the pulse speed.
Mouse X = twist · Mouse Y = speed

Accretion Nebula
Fractal raymarching through a procedural space nebula. 20-step raymarch with 7 layers of noise — every pixel computed on the GPU in real time.
GPU fractal nebula — just watch

Physics Chaos
Matter.js 2D rigid body physics — circles, rectangles, polygons and trapezoids rain down in teal tones. Click and drag any shape to fling it around.
Click and drag any shape · They collide and stack

Domain Warp
Four layers of domain-warped fractal Brownian motion computed entirely on the GPU. Move your cursor to shift the flow — no two frames are ever the same.
Move cursor to warp the fractal field

Camera Vision
Live camera feed with ML5.js face mesh tracking — 468 landmarks mapped in real time. Full wireframe face with squiggly eye/brow contours and floating particles.
Click "Enable Camera" — face mesh activates automatically

Squiggle Cam
Your camera feed transformed into organic teal line art. Pixel brightness bends each scan line — the brighter the light, the more it bends.
Click "Start Camera" — move in front of the lens

Optical Flow
Motion detection turned into particle art. Every movement spawns teal particles that trace the path of motion across the camera frame.
Wave your hands in front of the camera

Liquid Ball
Hold both hands up to summon a liquid teal sphere between them. The ball reacts to your hand distance — squeeze to compress, spread to expand.
Enable camera · Hold both hands up · Squeeze to compress

ASCII Pixel
Your live camera feed quantised into a teal pixel-block grid. Eight brightness levels map to eight tones — from deep black to electric cyan.
Enable camera · Move closer or farther for more detail

3D Point Cloud
Your live camera feed rendered as a 3D depth map in p5.js WEBGL. Each pixel becomes a floating voxel — brightness drives depth. Orbit with your mouse.
Enable camera · Move mouse to orbit the 3D cloud

Face Riot
468 facial landmarks tracked live via MediaPipe FaceMesh. Cyan mesh overlays your face with cyberpunk glitch effects, chromatic aberration, scan lines, and floating error text.
Enable camera · Face the screen · Watch the glitch mesh activate

Don't Touch Me
Particles seek your cursor — survive as long as you can. Click to start. Avoid the swarm.
Click to start · Move your mouse to dodge particles

Colour Boxes 3D
Hundreds of colourful 3D boxes drift and rearrange in WebGL space. Move mouse to orbit, scroll to zoom, click to trigger new formations.
Move mouse to orbit · Scroll to zoom · Click to rearrange · Keys 0–4 change formation

Lunar Lander
Land your spacecraft on the moon surface. Manage fuel, fight gravity and wind. A physics-based survival challenge.
Arrow keys or WASD to thrust · R to restart · W to toggle wind · Z for zen mode

Sound Reactive Art
Click to play music. Lines draw themselves around your cursor in sync with the audio, toggling between monochrome and vibrant colour.
Click anywhere to start/stop music · Move cursor to draw · Colour toggles on click

Text Drawing Tool
Drag your mouse to paint with text — characters trace your gesture into an emergent typographic composition.
Drag mouse to draw · Backspace to clear

Paint Particles
Flowing paint particles mix and swirl through vector fields — hypnotic colour fluid simulation.
Move mouse to steer the flow

Circles & Squares
Geometric shapes morph and multiply with cursor interaction — an exploration of form, rhythm and transformation.
Move and click to transform the geometry

Typewriter Art
William Butler Yeats' "The Second Coming" rendered through a generative typewriter — text as texture, poetry as pattern.
Watch the verse unfold

Spherical Magnification
A lens of text — characters arranged in a grid with a spherical magnification effect that follows your cursor.
Move mouse to warp the lens · Click and drag to change magnification · A/Z/X to randomise

Nodes Network
Planes and nodes weave a living network visualization — data relationships rendered as spatial journeys.
Watch the network self-organise

Philosophy Text Viz
Plato's Parmenides rendered as flowing teal typography — philosophical text transformed into a contemplative visual experience.
Watch the text breathe

3D Terrain Explorer
Procedural WebGL terrain with real-time camera navigation — a living landscape data visualisation.
Move mouse to orbit the terrain

Fluvia — Erosion Sim
Real-time hydraulic erosion simulation on a procedural 3D terrain. Watch rivers carve valleys over time.
Drag to orbit · Scroll to zoom · Use panel to tweak erosion parameters

Body Pose Art
ML5 body pose detection turns your movements into abstract art — your skeleton becomes a living brush.
Allow camera access · Move your body to paint

Hand Paint
MediaPipe hand tracking drives a generative paint system — draw in mid-air with shader-park brushes.
Allow camera access · Use your hands to paint in the air