Case study · Portal to Hell

We cut a portal to hell into the floor of the Gregangelo Museum.

The Gregangelo Museum is a San Francisco house that is already a living artwork: circus-striped outside, every surface jeweled and mosaicked within. Its newest room was a dare: a literal portal to hell, an infinity-mirror illusion you step onto and stare down into. For months on site I traded Figma for a soldering iron, writing ESP32 animation firmware, soldering WS2812B matrices, and helping sink the portal into the building itself.

Scope
Jan – Jul 2025 · Gregangelo Museum, San Francisco
Tools
ESP32, WS2812B matrices, C++ / FastLED, Mirrors & projection fabric
Role
Experience design, light programming, fabrication
July 2025: visitors peering into the finished portal.
March · The site

A house that is already halfway to another world.

First site visit. The house announces itself with a striped circus-tent roof and a weathervane; inside, decades of obsessive making: a bathroom mosaicked into a glowing reef, corridors hung with painted canvas and gilded mirrors. The museum wanted one more impossible room: look down, and fall forever. Our job was to make that promise real, and keep every cable, cut, and controller invisible, with installs squeezed around live tour windows.
Striped circus-tent roof and weathervane above the garden
The house's fully mosaicked, jeweled bathroom
April · Proof of concept

First light on a workbench.

Before cutting into anyone's floor, prove the magic on a desk. I flashed an ESP32 and started from the classic Fire2012 flame simulation, then rebuilt it around Perlin noise for smoother, more organic motion, tuning ember decay on a flexible 8×32 WS2812B matrix until it read less like RGB confetti and more like something burning far below.
ESP32 dev board held in front of the firmware on screen
April · First install

A keyhole you peer through, not a door you walk through.

The first piece went in at the end of a candle-lit corridor draped in painted canvas: a keyhole-shaped infinity window, one-way glass over mirror, ringed with addressable LEDs. Stand close and the tunnel recedes through the wall, through the house, into somewhere the floor plan insists doesn't exist.
The keyhole portal, the first night it ran.
May · The build

Soldering on the parlor floor.

May was the unglamorous middle: LED panels chained and addressed across the studio floor, hundreds of joints soldered flat on cardboard, floorboards cut open between joists, power and data snaked past the house's copper plumbing, controllers taped into wall cavities where no visitor will ever find them. Working inside a finished artwork means measuring three times before every cut. There is no drywall to hide behind. And when the animations started glitching, we chased ghosts until the culprit turned out to be voltage drop over one long cable run, fixed with a beefier 5V supply, short thick ground returns, and power injected right at the pixels.
LED matrix panels chained across the studio floor, running a test pattern
Floorboards cut open along the mirrored corridor
Under-floor joists and copper plumbing where power was routed
Controllers taped into a wall cavity, wired and hidden
Panel by panel: solder, test, repeat.
Late May · Inside the chamber

The room starts lying about its own size.

Once the mirrored walls rose, every session ended the same way: lights off, standing inside, checking which illusions held. The firmware grew into a scene system: fire, ambient pulse, and a twinkling starfield whose drifting stars 'snaked' down the serpentine-wired rows until I rebuilt the coordinate mapping to let them glide. Half-built, the spaceship window already refused to look like a room.
Standing inside the half-built mirror chamber at night
Mirror panels assembled around the floor opening
July · Opening

Hold your breath and look down.

By July the chamber was sealed: mirror on every plane, mosaic crusted over the seams, the firmware running its slow loops. The museum now folds it into guided tours as one of its mystery rooms: visitors step in, look down past their own feet, and watch the bottom of the house fall away into blue. The reaction is always the same: a short silence, then someone laughs. A next phase is already sketched: projection-wrapped fabric walls and camera-based motion tracking, so the portal can answer back.
Inside the finished chamber, jeweled mosaic and LEDs repeating to infinity
Inside the finished chamber, July 2025.
Key Takeaways

What this project taught me.

01

Pixels don't push back. Plywood does.

Software iteration is free; a cut into a one-of-a-kind floor is forever. Measure-three-times discipline changed how I scope even screen work.

02

Firmware is a design material.

Easing curves, palettes, decay rates: the difference between RGB confetti and a portal is the same craft as motion design, just written in C++.

03

Design for the room, not the bench.

Animations that dazzled on a desk died inside the mirror chamber. Brightness, density, and tempo only made sense tuned in situ, in the dark.

04

Small crews ship strange things.

No tickets, no handoffs: an artist's vision, a toolbox, and install windows squeezed between live tours. The fastest feedback loop I've ever worked in.

Next project

BeFreed.ai

Our team enhanced the BeFreed platform by designing and implementing two new features, along with refining the Transit page and PDP to improve usability and engagement.