All Projects

Fitted Kitchen 3D Configurator

A browser-based 3D kitchen planner: the customer enters their room size, lays out the units, and orders with construction drawings

Client Concept DemoYear 2026Duration 13 days

The Challenge

A fitted kitchen is much harder to configure than a single product. Every room is a different size, so there is no fixed model to show. The customer has to fit units to their own walls and see how finishes and lighting look in a closed room. The maker needs drawings it can quote from. The starting point was one carpenter's delivery for one real kitchen: a STEP CAD assembly and a set of drawings. The brief was to turn that one kitchen into a configurator for any room from 1.8 to 6 metres, while still rebuilding the original kitchen exactly.

The Solution

This is the second configurator on the platform I built for the outdoor kitchen, and it changes the core idea. There, the Blender model was the product. Here, the product is a catalogue and a layout engine. I measured the carpenter's construction rules from the CAD: board thicknesses, gaps, plinth heights, drawer boxes and corner reach. The engine generates the cabinetry from those rules for any room and any unit width. An automated test rebuilds the delivered kitchen with the engine and checks it against the carpenter's STEP file to within 0.5 mm, apart from a few named exceptions. Fixed items such as the oven, fridge, sink and tap come from the CAD as meshes. The viewer runs on three.js's WebGPU renderer, with a WebGL2 fallback. The order PDF is drawn in the browser too, laid out like the carpenter's own drawing set. I ran the build with Claude Code in scoped tasks, with 35 written decision records and every claim tagged as measured, read from source or inferred.

Room First

The customer starts with their own room, not a showroom model. The kitchen is fitted to it.

  • Enter the room

    Width and depth from 1,800 to 6,000 mm, ceiling height from 2,400 to 3,000 mm, in 10 mm steps. Or choose "As designed", the room the sample kitchen was drawn for.

  • Pick a shape

    Straight, L-shape left or right, U-shape or galley. If the room is too small for a shape, the customer is told why in a plain sentence.

  • Fill the walls

    Add, remove and reorder units on each wall: cupboards, drawers, sink and dishwasher units, corner units, wall cupboards, open shelves, and oven, pantry and fridge columns.

  • Made to measure

    Each width can be set to the millimetre, or left on auto to share the free space. The units beside a new one make room where they can.

  • Per unit

    Front layout, what goes inside, corner fittings, hinge side, oven and microwave slots, the dishwasher front and the hob.

Finishes and Light

Every finish is shown in the room, under the room's own lights.

  • Fronts and handles

    Matt lacquer, decor board, oak veneer or solid wood, each in its own colours. No handles, bar, knob or a slim edge profile.

  • Worktops and walls

    Laminate, solid oak, quartz or compact worktops in 3 thicknesses, a finish for panels and shelves, an optional panel between worktop and wall cupboards, 4 wall paints and 3 floors.

  • LED lighting

    LED strips under the wall units and in the plinth, in white or a colour, with a dimmer.

  • A closed room, lit properly

    No studio backdrop. Light comes from modelled downlights with shadows, LED strips as area lights, and bounce light computed in the browser on the GPU. Reflections come from the room itself.

  • Fast first, then richer

    The first frame is drawn with direct light only. Bounce light follows, so the customer sees the kitchen sooner.

Look Around

Three ways to see the kitchen, and every door can open.

  • Stand inside

    A camera at eye height inside the room, the way the customer will see their own kitchen. Or switch to a plan view or a cutaway overview.

  • Open it up

    Doors, drawers and fittings open. One button opens everything that fits. Units whose doors would hit each other are never open together.

  • Share the kitchen

    The link holds the whole kitchen and the camera, so a customer can send their version to a partner or come back to it later.

  • Made for phones

    On a narrow screen a Hide options tab clears the panel away. Measured at 3 phone sizes, the 3D view fills about half the screen with the options open and about 95% with them hidden.

  • Embed anywhere

    One iframe tag puts it in any website, with full screen and copy-link support.

From Order to Workshop

The order arrives with drawings the maker can quote from.

  • A short order form

    Name, email and consent are required. The customer gets a reference number. In this demo nothing is sent or stored.

  • A PDF with drawings

    It downloads by itself: the configuration, a 3D picture, a QR code of the link, a plan and one elevation per wall, on A3 sheets under a title block.

  • Dimensions from the layout

    Every dimension chain comes from the generated layout, not typed in. An automated check compares the drawings with the carpenter's delivered set.

Measured on a Phone

Speed targets were set up front and measured on a real iPhone (Safari, WebGPU) with the production build.

  • First frame

    0.77 s for the default page, and 2.3 s for the full sample kitchen (medians of 5 runs).

  • Changes

    A new front colour is on screen in 0.15 s and a new worktop in 0.23 s. An added unit takes 1.5 s, including generating it.

  • Smooth to look around

    A median frame time of 17 ms while looking around, with no frame over 33 ms.

  • Small to load

    The default page is 1.3 MB on first load.

  • Recovers by itself

    If the GPU device is lost, the 3D view rebuilds in place.

The Results

A working kitchen planner, live on this site and embeddable in any page. A customer can go from an empty room to an order with A3 drawings in one sitting. On an iPhone, every speed target measured passes. Lighthouse scores it 100 for accessibility, and 902 automated tests pass.