Role
Full-Stack Developer
Client
Concept Dash (internal R&D)
Duration
2026 – ongoing
The question was whether a configurator built for a desktop engine could become something an ordinary visitor opens in a browser — and later, whether the same idea could serve short-let owners furnishing a room rather than developers selling one. This repository is the answer being worked out rather than the answer itself, and it is deliberately described that way: 47 source and script files, 6,815 lines, against 35 documents.
Four prototypes each test one part of the problem. An asset inspector is a Node CLI that inspects, prepares and gates GLB models through glTF-Transform, Draco and meshoptimizer — the unglamorous half of any 3D product, and the half that decides whether the rest is possible at all. A React and three.js apartment configurator carries most of the functional code: six rooms described as JSON with walls, openings, fixtures, a balcony and furnishing slots, navigation between rooms, an orbit overview with ceilings hidden, and a catalogue of 38 configurable products across 12 slots. A panorama furnishing workspace puts furniture into photographic tours. A realistic-apartment study pushes on visual quality.
What makes the repository worth reading is the verification record, which is written against the work rather than for it. All 39 fitting slot and product combinations were checked at their anchors with no invalid placement found. A default configuration totals CAD 7,114 across 16 configurable physical pieces. Furniture movement was exercised with a real mouse drag and produced a versioned share link that restored the pose. And then, in the same table: rapid return-to-original and failed-load paths fail, pricing arithmetic follows the configuration and can disagree with the rendered scene, and the catalogue's commercial metadata is invented rather than fed from a real stock or country availability source. Each capability is recorded with its boundary next to it, so a reader cannot take a green tick for more than it covers.
The most useful distinction the documentation draws is one that two different products hide behind the same phrase. "A 3D toggle" can mean switching from a photographic tour to a separate planning view, or drawing furniture aligned inside the photograph itself. Only the second needs matched cameras, hidden geometry for occlusion, and an answer for the furniture already in the picture. No such integration exists here, and saying so plainly is what stops it being quietly assumed into a delivery estimate.
There is no production application, and that is a decision rather than an omission. The app directory contains a README explaining why scaffolding is deferred until the architecture decisions are signed off — because a scaffold written before those decisions becomes the decision. The same honesty runs through the rest: the audit notes there is no version control at the workspace root and says to establish where the authoritative source lives before going further, rather than assuming.
Tech Stack
Features
- Asset pipeline before anything elseA Node CLI inspecting, preparing and gating GLB models through glTF-Transform, Draco and meshoptimizer — the half that decides whether the rest is feasible.
- A configurator over data, not geometrySix rooms as JSON with walls, openings, fixtures and slots; 38 configurable products across 12 slots; room-to-room navigation and a ceiling-hidden orbit overview.
- Verified at the anchorsAll 39 fitting slot and product combinations checked, no invalid placement found; a default configuration totalling CAD 7,114 across 16 pieces.
- Share links that restore a poseFurniture movement exercised by real mouse drag, producing a versioned link that restores the arrangement.
- Failures recorded next to the successesRapid return-to-original and failed-load paths fail; pricing can disagree with the rendered scene; catalogue metadata is invented. All stated, none buried.
- Production scaffolding deliberately deferredThe app directory holds a README explaining why, because a scaffold written before the architecture decisions becomes the decision.
