Sourav Kundu / labs

Labs.

Things built for the pleasure of building. Each one is a single HTML file with no dependencies, no build step and no network calls: the whole thing arrives in one request and runs offline afterwards. Infrastructure work is invisible by design, so occasionally it is good to make something with a face on it.

5 experiments 0 dependencies 0 build steps 0 network calls after load
WebGL2312k triangles

Corpus

a dissectable human

A human body you can take apart: 107 named structures across eleven systems, from the skeleton to the vascular trees. Nothing is modelled by hand. Organs are deformable ellipsoids with warp functions, the bowel is a real six-metre tube coiled into the abdomen, and the arteries branch recursively following Murray's law, so a parent vessel's cube equals the sum of its children's. Toggle systems, cut a sagittal or coronal plane through it, click anything to identify it.

WebGL2procedural mesh subsurfaceMSAA + AO
open →
WebGL27 orders of magnitude

Silicon

an anatomy of a CPU

Descend from a chip you can hold to a gate you cannot see. Five levels, seven orders of magnitude: the 37 mm package, the die floorplan, one core's microarchitecture, the copper interconnect stack, and finally a single FinFET. A live logarithmic scale ruler tracks where you are. Every part is clickable and explains itself, and the exploded view separates the package into its layers.

WebGL2instancing bloomcross-section
open →
DOM8 working apps

WinSim

Windows XP and Vista, in a tab

Boot, login, desktop. A working window manager with drag, resize, minimise, focus order and a taskbar, plus eight applications that actually do things rather than showing screenshots. Both eras are recreated from memory of the real thing, down to the sounds of the startup and the shape of the Start button.

vanilla JSwindow manager WebAudioCSS
open →
Canvasfixed timestep

VoidGraze

a bullet-hell with one idea

Flying close to a bullet without touching it charges your bomb. The whole game is built around that single tension: safety is useless, and the only way to arm the thing that saves you is to spend time in the place that kills you. Fixed-timestep simulation with pooled entities and entirely procedural audio — no sample files.

Canvas 2Dentity pooling procedural audio
open →
Canvas300 DPI

Passport Sheet

a tool, not a demo

Tiles a passport photograph across a 4×6 print sheet at a true 300 DPI, with cut guides, so a print shop gives you eight usable photos for the price of one print. Built because I needed it. The image never leaves the browser — there is no server to send it to.

Canvas300 DPI no upload
open →

why single files

The constraint is the interesting part. No framework, no bundler, no CDN and no runtime dependency means nothing here can rot: no package to be abandoned, no build that stops reproducing, no third-party script to start tracking you. Each page is served under a default-src 'none' content security policy, which it can only satisfy because it genuinely asks the network for nothing after the first request. Constraints I would never accept at work turn out to be the fastest way to finish something.