Everything the customer told you, beside the contract

A grouped, empty-field-free summary of the intake form — identity, addresses, co-signer, lender, funds, permits, uploaded documents — pinned next to the contract you're about to send.

What it is

BuildIntakeSections turns form_data into titled sections with rows, skipping empty values and empty sections entirely. Addresses are joined into one readable line. Documents are reduced to a presence note. On desktop the rail scrolls independently; on mobile it stacks above the editor.

Also called: customer submitted details · review intake answers · see what they filled in

See it
Everything the customer told you, beside the contract
Prepared for
Gideon Alt
1140 Ridge Line Rd · Fair Play
Shell package$30,120
Concrete & site$8,744
Doors & windows$5,830
Trim & finish$3,886
Total
$48,580
Signature
The left rail with bold section titles and dt/dd rows, hover-underlining the clickable ones. ContractViewModal.tsx buildIntakeSections. Sample data — no customer information appears here.
How it works
  1. 1Sections built in order: Identity, Mailing Address, Contact Info, Co-signer, Property Info, Lender Info, Source of Funds, Permits / HOA, Documents.
  2. 2push() filters out rows whose value is blank and drops the section if nothing survives.
  3. 3Booleans render as explicit words — HOA approved: 'Yes' / 'No' — rather than blanks.
  4. 4Rows with a mapped merge field double as insert buttons in send mode.
  5. 5Empty state: 'No intake details were captured for this contract.'
Why we built it

The helper's contract is explicit — build 'a list of titled sections from the intake form_data, skipping empty fields/sections so the review panel only shows what the customer actually provided'. A review panel padded with empty labels is a panel nobody reads, and the point of the gate is that the builder reads it.

The problem
  • Intake answers buried away from the document they justify
  • Review panels full of blank fields
Sound familiar?
What you get
One glance confirms the facts behind the contract
Only what the customer really answered is shown
Doubles as the merge-field source list

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 →