UPFORGE LABS
the shop → upforge.io

Application-Development

The Closet Designer That Turned a Two-Hour Quote Into Ten Minutes

A 3D configurator, an AI design partner, and a signed contract in one sitting

Application-Development

The Closet Designer That Turned a Two-Hour Quote Into Ten Minutes

A 3D configurator, an AI design partner, and a signed contract in one sitting

Celebrity Closet Guys designs and installs custom closets from Organized Living's catalog. Their design work lived inside Organized Living's own dealer software, where turning a customer conversation into a priced, presentable design took about two hours. We built the replacement: a browser-based 3D closet designer with an AI that builds entire rooms from a sentence, dealer-cost pricing the customer never sees, a shareable 3D walkthrough, e-signature, and a Square deposit. Design-to-customer time went from two hours to ten minutes.

  • Custom Software Development
  • 3D Web Application
  • AI Integration
  • E-Signature & Payments
  • Systems Architecture
View the live site

The site

10 min

Design-to-customer time

357

Catalog products modeled

Measured

12

Finishes selectable live

Measured

0

Dealer cost figures reachable by a customer

Measured

Challenges

What stood in the way

5 problems, and what each one took to clear.

Challenge 01

  1. Problem

    Designing a closet took about two hours, inside someone else's software

    Every design ran through Organized Living's dealer tool. It could produce a correct design, but the path from what the customer wanted to something they could look at and price took roughly two hours. Designs happened after the appointment rather than during it, and the customer left the room without a number.

  2. Solution

    We built a purpose-made 3D designer around the same Organized Living catalog: 357 products and 20 finishes, using the manufacturer's own 3D models where they exist and parametric geometry where they do not, so a designer drags real orderable parts into a real room and watches the price update as they go.

  3. Result

    Design-to-customer time dropped from about two hours to about ten minutes.

Challenge 02

  1. Problem

    Building a full room by hand is slow, even in a fast tool

    Placing every shelf, rod, and drawer bank by hand is mechanical work, and it is where mistakes enter: a rod spanning too far unsupported, a column that misses the deck line, an island that leaves no aisle.

  2. Solution

    We added an AI design partner architected so the model never touches geometry. It emits a constrained plan of which wall gets which functional zones and in what proportion, and a deterministic engine converts that into exact coordinates against real product SKUs. A separate critic scores the result and repairs it. The rules come from real closet ergonomics: a fixed mounting-height ladder, garment fall lengths, reach ranges, and ADA aisle minimums.

  3. Result

    A designer describes the closet in a sentence and gets a valid, buildable room, with the entire class of failure where an AI invents impossible coordinates removed by design.

Challenge 03

  1. Problem

    The customer had to take the design on faith

    A quote a customer cannot see inside is a quote they have to trust. Nothing let them walk their own closet, try a different finish, or say yes on the spot.

  2. Solution

    Every design gets a share link that opens a fullscreen 3D walkthrough with no login. The customer orbits the room, swaps finishes live, signs with a drawn signature and typed name, and pays a deposit through Square checkout that hands them back to the same proposal when it's done.

  3. Result

    The design, the price, the contract, and the deposit all live at one link the designer can send from the driveway.

Challenge 04

  1. Problem

    Dealer cost and customer price in one system is a margin leak

    The designer needs to see cost and margin. The customer must never see either. Ship the same catalog to both and anyone with developer tools can total the cost and read the markup straight off the wire.

  2. Solution

    Dealer cost is stripped from the catalog before it reaches a customer browser, and the customer payload carries no ambiguous total field at all, because a single ambiguous total is exactly how a charge ends up computed from cost instead of price. Money is integer cents with exactly one rounding point, so an itemized contract always sums to its own total.

  3. Result

    Three audiences and one set of numbers, with no leak, verified by a harness that audits every customer-reachable file and every public route for cost figures.

Challenge 05

  1. Problem

    A signature and a payment have to be provably correct

    A design can change between the moment it is priced and the moment it is signed, and a deposit link can be pointed at the wrong contract. Both failure modes cost real money.

  2. Solution

    Signing freezes the design, the price, and the exact revision in a single first-signature-wins operation: if the design moved in between, nothing is written at all rather than pinning a price and a design from two different versions. Deposit verification refuses to trust a paid flag, checking that the sale is the right kind and the right size with both a floor and a ceiling, and failing closed.

  3. Result

    A stuck deposit is a phone call; a free contract is not. The money path is backed by adversarial suites that run against production using only the application's own public credentials.

Strategy

How the work ran

4 phases, in the order they happened.

  1. Phase 01

    Capturing the catalog

    We captured the Organized Living dealer catalog and its 3D assets, normalizing 357 products, 35 categories, and 20 finishes into a structure the app could price and render.

    • Catalog normalization
    • 3D asset pipeline
    • Finish system
    • Pricing data model
  2. Phase 02

    Building the 3D studio

    We built the designer surface: drag-and-drop placement with snap-to-fit, undo and redo, autosave, a measurement HUD, and two render paths so high-fidelity manufacturer models and parametric parts coexist in one scene.

    • React Three Fiber studio
    • Snap and drag system
    • Scene state with undo
    • Parametric geometry engine
  3. Phase 03

    Teaching an AI to design closets

    We split the AI in two: a model that plans zones and a deterministic engine that builds geometry, with a critic scoring the output against closet ergonomics and repairing it. The rules were reverse-engineered from the manufacturer's own tool and professional standards.

    • Constrained planning layer
    • Deterministic wall engine
    • Design critic and repair loop
    • Ergonomics rule module
  4. Phase 04

    Closing the sale in the room

    We built the customer surface and the money path: a no-login 3D walkthrough, live finish swapping, e-signature with a contract freeze, Square deposits verified server-side, and branded PDFs for the customer and an order sheet for the shop.

    • Customer proposal viewer
    • E-signature and contract freeze
    • Square deposit verification
    • Signed PDF and order sheet generation

Results

What it delivered

Outcomes

Two hours to ten minutes

The owner's own assessment of how long it now takes to get from conversation to a priced design the customer can see.

One link from design to deposit

Share, walkthrough, finish swap, signature, and payment are a single flow rather than four disconnected steps.

Orderable by construction

Designs are built from real catalog SKUs, and product lines are distinguished structurally so a closet sold as one line can never be ordered as another.

Tech stack

What it's built with

11 technologies.

Next.js 16

React 19

TypeScript

React Three Fiber

three.js

Zustand

Supabase

OpenAI

Square

pdf-lib

Netlify

Project details

What the job was

The particulars of the build, as the record states them.

Industry

Custom Closets & Home Organization