Edit one customer's contract without touching your template

A markdown editor with bold, heading and list buttons and a live preview, whose edits apply only to this customer's agreement.

What it is

The rendered body loads into a monospace textarea with an Edit/Preview toggle. A small toolbar wraps a selection in bold or prefixes the caret's line with '## ', '- ' or '1. '. Preview renders through the same ContractMarkdown component the customer sees. On send, the edited body is posted only when it differs from the loaded original.

Also called: one-off contract change · custom clause for this customer · edit contract before sending

See it
Edit one customer's contract without touching your template
Prepared for
Marlin Hoover
1140 Ridge Line Rd · Fair Play
Shell package$30,411
Concrete & site$8,829
Doors & windows$5,886
Trim & finish$3,924
Total
$49,050
Signature
The editor pane with Format toolbar (B, heading, bullet, numbered), the Edit/Preview segmented control, and the note about edits applying only to this contract. Sample data — no customer information appears here.
How it works
  1. 1applyFormat() wraps a selection for bold (re-selecting the wrapped text) or injects a line prefix at the start of the caret's line for headings and lists.
  2. 2Preview renders the current buffer through ContractMarkdown.
  3. 3doSend() computes bodyChanged and posts renderedBody only if it actually differs, 'so an untouched contract isn't needlessly rewritten'.
  4. 4Editing is disabled once the contract has been sent; the header switches to 'Contract Body (sent)'.
  5. 5Footnote under the editor: 'Edits here apply only to this customer's contract.'
Why we built it

The editor is deliberately guard-railed for a non-technical user: 'a one-line hint, a markdown formatting toolbar, and a grouped merge-field palette sit above the textarea so a non-technical builder can format + drop in real project values without breaking the document.' Raw markdown with no help is how a contract ends up with broken headings in front of a customer.

The problem
  • Template edits made just to accommodate a single customer
  • Builders formatting markdown by hand and breaking the document
Sound familiar?
What you get
One-off changes stay one-off
Formatting buttons instead of markdown syntax
Preview shows exactly what the customer will read

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 →