MACs: Showers Configurator Previewer

2025

A configurable configurator for made-to-measure showers, with a real-time previewer that isn’t 3D: layered SVG and modern CSS. Faster, lighter, infinitely themable.

Role
Product Engineer: design, product, front-end, back-end, DevOps
Team
Just me
Duration
6 months, part-time (3 days a week)
Stack
Vue, Effect, TypeScript
A glass corner shower with hinged doors on a white tray, drawn by the SVG previewer

Context

HausFux and Blizz-z are German e-commerce shops selling made-to-measure showers. Customers pick the model, the size, the glass, the profiles and the hardware, and the shop builds it for them.

Problem

The configurator already existed, but the preview was a set of more than 50 static images that didn’t react to the customer’s choices, and in practice only covered the first screen of options. People ordered without seeing what they were buying, and some orders came in with sizes that made no sense at all, like a shower 20 cm wide. On top of that, a part-time person did nothing but produce renders.

My role

The brief was simple: make the images dynamic. I turned it into a product, and built all of it myself: design, product, front-end, back-end and DevOps.

Key decision: SVG and CSS, not 3D

Instead of reaching for Three.js or a heavy 3D pipeline, I built a layered SVG renderer driven by modern CSS (custom properties, masks, filters, container queries) that composes the shower in real time as the customer picks profiles, glass, hardware and finishes. It loads instantly, renders crisply on any screen, and themes itself for each shop.

The customer configurator: six steps from model to review, installation and door options, and the live shower preview with the subtotal

One schema drives everything

Every shower model, option, constraint and dependency lives in a schema that non-engineers can edit. From that single source of truth the app generates the step-by-step purchase flow, the validation rules, the price logic and the preview. Adding a product line or an option doesn’t need a release, just a content update.

Behind it there is a full back-office where shop owners run the show: configurators, RAL colors, shops, condition rules, price tables, templates and the Shower Previewer, which reuses the same SVG renderer, so what they tune is exactly what the customer sees. HausFux and Blizz-z run on the same codebase, each with its own brand, colors, products and tax setup.

Shower Previewer admin: a shower preview on the left, settings for the shower tray and dimensions bound to configurator options on the right

Outcome

  • Orders with completely wrong sizes dropped to zero
  • The part-time render work is no longer needed
  • New products and options ship as content, not releases

What I’d do differently

I’d start from a point projection engine on day one. It came much later, and it still doesn’t cover everything.

Visit the live site


More projects

Bento Story Tile Component2024 Quizzo Component2024 Talisker Campaign2023 Mars Campaign2022

Get in touch