Skip to content
Mark Haddad
Selected work

Patio3D · Client product

Complex choices.
One coherent design.

A browser-based patio cover configurator that turns real product systems into interactive 3D designs with engineering logic, material costs, and shareable configurations for sales teams and shoppers.

My role
Lead Frontend Engineer
Focus
3D / Engineering
Context
Production configurator

Proprietary client product built while I was employed by RedLayers. This case study explains the parts I personally designed, built, maintained, or improved. Source code is not included.

Patio3D production configurator with live 3D patio cover design
Patio3D production configurator with live 3D patio cover design

A small explanation you can play with

One choice. A connected system.

Change the width or roof, then copy the link. The drawing follows your choices, and the URL brings the same setup back.

Illustrative patio configuration A 4.5 metre wide patio with a slatted roof. This simplified drawing demonstrates connected configuration state.
4.5 m wide · Slatted roof
3 m6 m
Roof style

Your selections are saved in this page’s URL.

The engineering idea. Geometry and interface read the same state. The URL stores the choices needed to restore it.

An original illustration. Built for this portfolio. It is not the production configurator and includes no manufacturer rules, pricing, or proprietary source code.

The product behind the interface.

Patio3D helps patio cover dealers close faster by letting shoppers and sales teams design real covers in the browser—backed by built-in engineering and manufacturer systems such as Alumawood and Elitewood.

My work focused mainly on the 3D experience and admin panel, while also contributing to the product menu and the engineering behind different patio systems.

My part in making it work.

I built and maintained major parts of the production 3D configurator, from geometry and configuration behavior through admin workflows and performance-sensitive update paths.

  1. Built and maintained major parts of the production 3D configurator using Nuxt, Vue, Tres.js, and Three.js.

  2. Developed dynamic geometry and configuration behavior across multiple patio systems, including combined roof and structural options.

  3. Implemented and maintained admin workflows and product-menu logic connected to complex engineering rules.

  4. Created shareable and restorable designs through URL-driven state.

  5. Optimized expensive address, pricing, and search update paths so meaningful selections trigger updates instead of every keystroke.

  6. Diagnosed and resolved rendering, state-synchronization, and performance issues across complex interactive configurations.

The hard parts.

  • Representing multiple patio systems with different geometry and engineering rules without turning the UI into a collection of special cases.
  • Keeping computational geometry responsive while users change dimensions, roof types, materials, and structural options.
  • Making complex design state portable through a URL while keeping it predictable and debuggable.

What the work enabled.

  • Interactive 3D configuration
  • Shareable URL-driven designs
  • System-specific engineering logic
  • Production admin tooling

Tools behind the work

  • Nuxt 4
  • Vue 3
  • Tres.js
  • Three.js
  • three-bvh-csg
  • three-mesh-bvh
  • qs

Another kind of frontend challenge

Apex Report Generator

Next case study