Your clients can't see it. That's why they say no.
October 2026
You know the pattern. Four hours into a proposal. The clients nod on the call. They go quiet for a week. They come back with "we love the direction, we just can't quite picture it — can we see one more option?" You draw another option. They can't picture that one either.
It isn't that your work is bad. It's that a 2D plan and a mood board can't survive contact with a homeowner's imagination.
So the design never gets a fair hearing. The thing that could have landed is the first thing to die.
I'm going to show you a workflow I built on my own house that fixes this, using tools that already exist. I'm writing it up for designers, architects, and design-build firms because I don't think you should have to pay someone else for the privilege of using it.
I built the loop for me first
I've been circling a kitchen redesign in my own house for about a year. I didn't want to pay a designer's retainer to find out whether the island I kept drawing on graph paper actually fit, so I built the loop myself:
- Scan the house with Polycam, one room at a time.
- Load the scans in a browser viewer.
- Describe the change in plain language.
- Get back a revised 3D model and walk it from eye level.
Every piece except step 3 already existed. Polycam does the scanning. Three.js does the rendering. The gap was a viewer local and extensible enough to drop my own code into, plus a chat loop against it.
I handed the viewer brief to Codex and had the first working version in a weekend. It's a single 650 KB HTML file, no backend, no account, nothing uploaded. You can open it here — a demo room loads so you can see the controls, and dropping your own GLB or ZIP replaces it.
Where this earns its keep
The weekend on my house was a pilot. The real use isn't a homeowner tinkering with their kitchen on a Saturday — it's a design practice running the loop on every project, to close deals faster and burn less time in revision.
Here's what the three steps look like in a working practice:
Capture. You, or the client, walks the space with Polycam on an iPhone. A medium room takes maybe fifteen minutes. The export is a standard GLB with real-world dimensions.
Design. You iterate the redesign in a chat loop against the scan. The agent returns a revised 3D model each round — moved walls, swapped cabinets, new window placements, finishes. You don't lose your taste; you offload the drawing.
Present. The client opens a link and walks the proposed version at eye height. The island they thought was too big either is or isn't. Either way the conversation moves off "we're still thinking about it."
Where this changes outcomes in your business
Close rate. A client who walked the design before signing says yes faster. In the pilots I've watched, approvals happen on the call, not three emails later.
Revision cost. Each iteration against the scan is minutes, not days. The marginal revisions — "what if the window were ten inches wider" — become essentially free. You stop quietly eating the cost of changes you'd otherwise defer out of the proposal.
Scope defense. Mid-build change requests meet a 3D model of what the space was at scan time. You show, instead of argue, what moving that wall actually touches.
Reusable asset. The scan compounds. Every tool you layer on top — walkthroughs, measurements, material swap previews, mood-board overlays — reuses the same capture. Scan once per house, iterate forever.
The pieces, honestly
Polycam. Mature enough to use in a client's house without embarrassment. Fine detail on dark glass and shaggy fabric is still weak. Walls, countertops, cabinets, and furniture all read correctly. Scans a room in a few minutes on a current iPhone.
The viewer. Three.js under the hood. Strict Content Security Policy — no network calls, period. Orbit view, plan view, walkthrough at a settable eye height, measurement overlay in metres and feet-inches, category hiding, screenshot export. One HTML file. Host it anywhere, email it as an attachment, drop it in a client portal.
The chat loop. Honest version: strong at material swaps, lighting, and furniture rearrangement. Decent at wall moves and ceiling cutouts. Not a replacement for an architect on a load-bearing decision — but a very good way to prove an idea before you escalate it to one.
Codex. I didn't write the viewer. The brief I gave the agent was specific but implementation-open: "browser GLB walkthrough, sidebar panel, Orbit/Plan/Walk modes, measurements, category toggle, no network calls." It executed cleanly. My job was deciding how the UX should feel — and that part is where I'd want you deciding, for your clients.
The one thing to take if you take nothing else
Scan the client's house before you draw anything.
Even without the chat loop. Even without my viewer. Even if you walk away from this post convinced the AI part is a toy. Having a dimensioned 3D model of the space you're about to design for changes what you can propose. You stop drawing against your memory of the walk-through. You stop asking the client to measure the window a fourth time. You stop designing around what you thought that corner was, and start designing against what it is.
The capture takes an afternoon. The payoff lasts through every revision, every change order, every "what did we say the ceiling height was again." That ROI stands on its own.
What to do with this
Two ways in.
If you want to try the viewer with your own scans, it's at /scan-room. Open any GLB or ZIP of GLBs. Walk the room. Email me what you find.
If you want the full loop set up for your practice — the viewer tuned to your clients, the chat loop wired to your project files, a shared handoff pattern between you and the client — book a 30-minute consult. I'll show you where it earns its keep in your work and where it doesn't.
Your clients can't see it, and that's why they say no.
Let them see it before you ask them to.