Fluoroscope
LiveA handheld x-ray lens you drag across four specimens.

// what it is
Four specimens — a hand, a wristwatch, a nautilus shell, and a cabin bag — laid out on a surface. Your cursor is a fluoroscope you drag over them: warm visible light outside the lens circle, radiographic attenuation inside it.
// the problem
The illusion only works if the two renderings line up exactly. If the bones inside the lens sit even slightly off the hand outside it, the effect collapses from 'x-ray' to 'two pictures'. The second problem was that the first version looked like a vector illustration of an x-ray rather than an x-ray.
// decisions
- 01
One geometry, two renderings
Both passes are generated from the same shared vector geometry rather than drawn twice. Registration is therefore structural — the inside and outside of the lens cannot drift apart, because they are the same shapes with different material rules applied.
- 02
Rebuilt for texture after it looked too clean
The first pass was flat and obviously illustrated. It was rebuilt around real film grain, scatter bloom, and trabecular bone texture as SVG filters — the noise is what sells it as a photograph of a screen rather than a diagram.
- 03
The sci-fi chrome was removed
An early version had a travelling scan sweep and a spinning reticle. Both were cut in favour of a fixed bezel ring. Real fluoroscopes do not animate at you, and the restraint made the thing more convincing, not less.
- 04
Generated, not hand-edited
A Python script emits the SVG artwork and a shell script concatenates it with the page parts into a single HTML file. The output is never edited directly — the geometry has to stay reproducible from its source, or the two renderings stop agreeing.
Have a project in mind?
I'm currently open to freelance work and new opportunities — reach out and let's talk.