Real-time 3D & Graphics

The frame budget is the specification

Browser tooling for people who have to get real work done in it — BIM and CAD models, factory-scale datasets, and simulations that stay interactive at the size of the actual problem. Three.js, WebGPU, GLSL and WebAssembly, shipped into production rather than into a showreel.

What We Build

What we are actually good at in the browser

Instanced rendering at scale

Thousands of elements in one scene, held at frame rate — GPU-driven scene graphs, instanced draws, and a draw-call budget treated as a hard specification rather than a target.

BIM, IFC and CAD in the browser

Loading real building and factory models client-side and making them editable: ifc.js, Revit-derived geometry, constraint feedback, and bill-of-materials generation off the live scene.

GPU-accelerated data views

Large, messy engineering and geospatial datasets rendered as interactive views with deck.gl and WebGL — responsive at the size of the real corpus, not at the size of the demo.

Shaders and procedural geometry

Custom GLSL and WGSL, signed-distance fields, raymarching. The objects drifting across this site are evaluated per pixel in real time — it is the same renderer we ship.

WebAssembly where the math is the bottleneck

When the hot path is geometry or a solver rather than the DOM, it moves to WASM. Used in anger, not as a checkbox — the scaffolding tool's geometry kernel runs there.

Frame-budget engineering

Profiling the things that actually cost: overdraw, draw calls, memory ceilings, and the garbage collector. Most 'we need WebGPU' problems turn out to be a loop that allocates.

Tech Stack

What we reach for, and why it is short

Three.jsWebGL 2.0WebGPUGLSL / WGSLWebAssemblyTypeScriptReactdeck.glifc.jsD3.jsCanvas APINext.js

Applications

Where this work has gone

AEC & construction tooling

Designing structure over a BIM model in the browser and costing it as you go

Factory-scale layout review

Revit-derived plant metadata turned into a view a material-flow team can actually explore

Engineering data views

Constraint graphs, dependency structures and simulation output, rendered interactively

Configurators with real constraints

Not a spinning product shot — geometry that has to stay valid while the user changes it

Procedural and simulated scenes

Raymarched fields and generated geometry, computed per frame rather than authored

Interfaces with a renderer inside

Sites and tools where the 3D is load-bearing rather than decorative — this one included

Something that has to hold its frame rate?

Tell us the scene size, the interaction you need, and the device it has to run on. If the honest answer is that it belongs on the server or in a native app, we would rather say so in the first conversation than the third invoice.

From the journal

The engineering underneath

How the objects drifting across this site are actually computed — the same renderer, written up at length.

All articles