Colour selection on the estimate

Window, door, garage-door, roof, wall, trim and wainscot colours managed on the estimate, with the customer's own picks visible to the builder as they happen.

What it is

One colours panel rendered identically on desktop and mobile, backed by a single canonical record per job rather than a copy on every estimate link. Palettes are constrained per field, and the panel shows which colours the customer chose themselves, which ones are marked unavailable, and where the two conflict.

Also called: pick the colours · roof and wall colour · trim colour · customer picked a colour

See it
Your Custom Building — colors
Your Custom Building
Dimensions
40' wide x 64' long x 16' tall
Roof Steel
Burnished Slate
Wall Steel
Light Stone
Trim
Brite White
Window Color
Whitechange
Door Color
Blackchange
Garage Door Color
Brownchange
Choose your garage door color
1 color is currently unavailable
You can change this any time before approving.
Changing the window, door, or garage door color may affect pricing. Reach out to your sales rep for current color pricing.
The Colors panel with three swatch rows, a 'Customer chose' badge on one and a 'Restrict' control on each (EstimatesView.tsx renderColorsPanel). The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
How it works
  1. 1Admin colour changes write to the job's canonical record; both the admin and the customer UIs read it on their next load.
  2. 2Values are validated against the allowed palette for that field before saving.
  3. 3Writes are treated as a sparse delta — fields absent from the request are left exactly as they were.
  4. 4The estimate snapshot still receives a copy of the colours at the moment a new link is generated, for the historical record only.
  5. 5A 'Customer chose' badge marks any field the buyer picked, with the date.
Why we built it

Colour changes used to be written out to every copy of an estimate a job had, because the builder's screen and the customer's page both read from those copies — and a request that arrived empty could wipe every record of what the customer had chosen. Colours now live in one place, so the fan-out is gone and the builder watches the customer's picks land as they happen: windows, doors, garage doors, roof, walls, trim and wainscot. The panel also works on a phone, which it previously skipped entirely, so an admin on a tablet at the yard couldn't see what the customer was looking at, let alone manage what they were allowed to pick.

The problem
  • Colour state copied across every estimate link and drifting
  • Customer colour choices invisible to the builder
  • No colour controls at all on mobile
Sound familiar?
What you get
One colour record per job that both sides read
See what the customer picked, and when
Manage it from a phone on the way to the yard
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →