Ocular.ink
Back to Work

Ocular.ink

Ocular.ink

A quarter-century ago, I began building generative VJ software for OKO T — a visual collective that crafted immersive projections at festivals worldwide. Through seven iterations spanning two decades, that software evolved from real-time generative visuals into sophisticated spatial mapping and interactive installation work deployed at light festivals, galleries, and government-backed art installations. The core architectural DNA forged across those years was never publicly released — until now. Built on an uncompromising technology stack — WebGPU-accelerated rendering, WebGL, WebRTC peer-to-peer streaming, on-device LiteRT AI inference, and server-side AI pipelines — Ocular Ink is a browser-native VJ performance platform that rivals (and surpasses) traditional desktop tools. It runs on any modern browser with near-native performance, delivering real-time audio analysis, generative shader synthesis, 3D rendering, fractal generation, AI segmentation and style transfer, multi-display projection mapping, USB-DMX lighting control, and MIDI hardware integration — all without a single install. Powered by a Next.js/Node.js full-stack architecture with PostgreSQL, Prisma, and Mantine, fronted by Akamai CDN and containerised with Docker, the platform handles the entire production pipeline: session management, cloud sync, Stripe billing, asset libraries, and an on-device LiteRT AI director (Auto VJ) that reads live acoustic and visual energy to drive the show autonomously. Every VJ, Musician, Band, DJ and Artist can now access the capability that was once locked inside bespoke installation software — free to explore, and built for the present. Sessions Create, save, switch and duplicate complete shows. Sync sessions to the cloud, browse publicly shared sessions, and rate or download the work of other artists. Dynamic Channels Add, rename, copy, delete and drag-to-reorder channels. Every channel has mute, solo, pause, an A/B bus toggle, blend modes and its own clip slots. Master & Crossfade Channels A dedicated master output with fader, mute, freeze and post-processing, plus a seamless A/B crossfade channel with side-by-side previews. Effect Timeline Animate any parameter over time with per-slot keyframes — opacity, transforms, fractal parameters, shader uniforms, mesh transforms and camera moves. Post-Processing FX Chain fullscreen filter passes per channel, per A/B bus and on the master — mirrors, flips, kaleidoscope and library post shaders. 2D & 3D Titling Engine High-resolution 2D text layers and extruded 3D text with depth, bevel and live audio-reactive motion. Audio Capture & Analysis Multi-channel live audio input with per-channel meters, low/mid/high bands, waveform and a beat-pulse LED. Beat-Synced BPM Clock Automatic tempo detection, tap tempo and BPM locking produce a phase-locked beat that drives every visual layer. MIDI & USB-DMX Map any MIDI controller with one-tap Learn. USB-DMX dongles via Web Serial and a live 512-channel universe monitor. Timelined Control Cues Pro control layers that send keyframed DMX and MIDI commands in sync with the effect timeline — automate lighting and hardware from visual clips. Music-Synced Video Forward, reverse and ping-pong video playback with in/out marks, beat-synced restarts and fit-to-bars timing. Live Camera Feed Add any connected webcam as a live video layer with per-clip position, scale, blend and keyframed motion — and feed it into AI segmentation, style transfer and depth layers. 2D Plane Layers Solid colour washes and still images with full position, scale, opacity and blend control. GLSL Shader Layers Generative shaders that react live to time, beat and FFT bands, with parameters exposed as editable controls. Fractal Generators Mandelbrot, Julia, Burning Ship, Lorenz attractor, Mandelbulb and more — all deeply audio-modulated. AI Layers On-device person segmentation, style transfer and depth maps with 3D displacement — fed by webcam, video or your live channel. Auto VJ An on-device LiteRT AI director that reads live acoustic and visual energy, cycling clips, driving the crossfader, and reacting to drops in real-time with zero latency and zero credit cost. 3D Meshes & 3D Cameras 3d Mesh groups plus virtual 3D cameras and full 3D transforms. FFT Spectrum Selector Drag across the frequency spectrum to bind exact ranges — kicks, bass, mids or highs — to any layer parameter. Clips & Asset Library Clip library, shared assets you can rate or download, uploads, and AI-generated materials in one place. Sharing is free — no asset checkout. AI Asset Generation Generate shaders, videos and 3D models with AI right in the editor and preview results before applying them. Projection Mapping & Output Map curved surfaces across multiple physical screens. Aspect ratio and render resolution are per session. Output Monitor Monitor every channel, the A/B buses and the master output together in a single grid. Remote Control Drive the show from any phone, tablet or second browser over a pairing code — a touch mixer that stays in sync in real time. Program Recording Record the master program to MP4 or WebM right in the browser, with optional live audio. Backup & Restore Export your whole show as a single backup file or restore it on any machine in one click. Progressive Web App Install from Brave, Chrome, or Edge on a laptop for a fullscreen window with no browser chrome — same app as the tab. Offline Mode Arm the header wifi icon for up to 72 hours. A signed lease keeps Launch, USB-DMX, and a watermark-free mix running without a network — including an installed PWA. Cloud, Generate, and payments still need to be online.

Technologies

Next.js
Node.js
WebGL
WebGPU
WebRTC
Image Processing
LiteRT
Served AI
nginx
TypeScript
PostgreSQL
Prisma
Mantine
Stripe
Docker
Akamai
MIDI
DMX

Skills

AI Integration
Full Stack
Systems Architecture
UI Design
3D
AR / VR

Type

Progressive Web App