Nick Roy Open to work

3D Product Experience

One measured bottle, built to carry a whole whiskey range.

A self-directed concept for the listing and product pages of The Macklowe, a New York whiskey brand whose range runs from $69 to $1,500. Designed, modelled and built solo. Every bottle on this page is rendered live from a single 3D file, modelled from the real thing.

RoleDesign, 3D and build, solo
BrandThe Macklowe, New York
ToolsBlender, Three.js, GLB
Year2025–2026

Packshots hide what the price is paying for

The Macklowe’s range runs from a $69 bourbon to a 13-year single cask at $1,500, and every release shares the same bottle. Photographed under the same light, the tiers read as one flask in six colours. What separates them sits at a scale photography handles badly: foil on the cap, raised type on the label, a seal debossed into the glass.

At this price that is a commercial problem. A buyer weighing the single cask is comparing it with the same brand’s bottles a click away, and the product page is where the gap either makes sense or it doesn’t. A row of near-identical, static packshots leaves the case unmade.

So I set myself a brief: rebuild the listing and product pages with 3D as the main product surface rather than a widget beside the gallery, and build one asset that serves every page, release and angle.

Built once, reused for every release

Every bottle on this page is rendered from a single 3D file, a digital twin modelled in Blender from caliper measurements of a real bottle. Weighing it empty and checking the 700ml fill line confirmed a base around 30mm thick. That matters because the glass and whiskey are rendered as physical materials that respond to thickness.

The range doesn’t need six models. The file holds one bottle and swaps glass, cap and label materials between releases, so all six ship in 3.16MB and any of them displays without a further download. A new release in the same bottle becomes a new label and a new liquid colour rather than a new shoot.

A photographed range is fixed to the angles and lighting chosen on the day. This one serves the listing grid, the scroll-driven product page and any camera position a later page needs, lit identically every time because it is the same object. It doesn’t replace lifestyle photography. It replaces the part of the shoot that repeats with every release.

Format GLB with material variants
File size 3.16MB, six bottles
Source Blender, from caliper measurements
Runtime Three.js, rendered live

The objects carry the hierarchy, not the price labels

Under one light and one camera, the material difference between tiers reads at a glance. Anything a buyer notices here is a real difference in the object rather than a difference in the shoot. Liquid colour comes from how light is absorbed through the whiskey rather than a painted tint, and the final treatment was tuned so Gold and Silver stay visibly distinct.

Hover and a bottle steps forward and turns face-on while its neighbours make room. The page only redraws while something is moving, so six live bottles cost nothing while the visitor is reading.

Hover to bring a bottle forward. Tap on mobile.

One bottle instead of a gallery

The product page replaces the photo gallery with a single bottle that moves as you scroll. Each stop turns the object to the view that proves the fact being made: the tasting notes and the house Manhattan on the label, the batch size from above, the maturation from the side, the mash bill at the shoulder. The camera goes where a buyer would turn the bottle if it were in their hand.

The tasting notes are not set beside the bottle

They sit on the label and you read them through the whiskey, which is the test of whether a live material is doing real work: type on a curved surface, behind glass, still legible. A flat gallery image can show a label. It can’t show you reading one.

The purchase button holds at every stop, so the story runs without ever sending the buyer away. That is the part a gallery gives up the moment it opens a lightbox.


Pitched, rebuilt, not yet shipped

I pitched the first version to The Macklowe’s founder in 2025 as a proof of concept built in Vectary. Its embed renderer flattened the materials and gave no control over loading or file size. The brand wasn’t ready to fund a rebuild, so in 2026 I rebuilt it from scratch, with every part of the look under my control, from the glass to the file size.

Alongside the rebuild I made a browser-based look-dev tool to tune materials and lighting, with the Blender model kept as the single source of truth. The viewers on this page were matched to that tool at pixel level.

A live version would still need checkout, member access for the Macklowe Collective and state-by-state shipping rules. It would also need keyboard and reduced-motion alternatives to the 3D, and testing to show whether it moves conversion.