Portal content library (why us, warranty, FAQ, footer)

The reusable sales copy on every quote — why choose us cards, the warranty block, the FAQ and the contact footer — set once per builder and overridable per estimate.

What it is

A per-org defaults row plus a per-estimate overrides row, merged for the customer by one public config endpoint. It carries the trust strip, why-us cards, warranty block, FAQ list, contact footer, section order, section toggles, financing terms and the spec fallback copy. Factory defaults ship so a brand-new tenant's portal is never blank.

Also called: customise my quote copy · warranty on the estimate · FAQ for customers · why choose us

See it, piece by piece
01

Your warranty paragraph is typed once, not per quote

The warranty block, the why-choose-us cards, the FAQ and the contact footer are set once for your company and appear on every estimate you send. Any of them can be overridden for a single unusual job without changing the house default. Factory copy ships with the account, so a brand-new builder's portal is never a blank page while they get around to writing one.

Warranty
Built For Today, Made For Tomorrow

We stand behind our work with a 5-year craftsmanship warranty, ensuring your structure is built with precision and durability. If any covered issues arise, we’ll make it right — because quality and customer satisfaction are our top priorities. You’re not just building for today — you’re building for the future.

The warranty band and seal — copy the builder edits in Settings. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
02

The five questions every buyer asks, answered on the quote

How long does the build take, what is included in the price, what about permits, can I make changes after approval, what warranty do you offer. They sit in an accordion at the bottom of the estimate, editable per builder and per estimate. Each one answered on the document is a call you do not take in the middle of a build week.

Common Questions
Common Questions
How long does the build take?
Most post-frame buildings take 2-4 weeks depending on size and complexity. Your specific timeline will be confirmed after approval.
What's included in the price?
What about permits?
Can I make changes after approval?
What warranty do you offer?
Common Questions, first row open — the product's own default set. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
03

Years in business and buildings completed update themselves

A slow marquee under the hero carries licensed and insured, your rating, and counts that resolve live: buildings completed from your finished projects, years in business from your start year. Nobody has to remember to bump a number on a quote template every January. Hovering pauses it, and visitors who ask for reduced motion get a static layout instead.

Trust Strip
Licensed & Insured45+ Buildings Completed5-Star Rated11+ Years ExperienceLicensed & Insured
The counts in these items resolve from the builder's own record. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
04

One field controls the number on every customer surface

The phone on the estimate footer and the call button on the live dashboard both read your Business Info number and nothing else. There is no fallback chain, because fallback chains are how a quote ends up telling a customer to call their own line, or printing a personal number somebody replaced two years ago. If the field is blank, no number and no button render at all.

How it works
  1. 1portal_defaults holds the org-wide copy, keyed by org
  2. 2estimate_portal_overrides layers a per-send version on top
  3. 3GET /api/client-portal/config merges them and returns only branding, copy and aggregate counts
  4. 4The customer page falls back to FACTORY_DEFAULTS whenever a block is empty
Why we built it

Warranty terms, FAQ and why-us copy are the builder's to write, but the endpoint serving them fell back to one particular company's content whenever it could not work out whose portal it was rendering — so another builder's branding and copy could appear on a customer's quote, and on an unrelated settings screen. It refuses now rather than guessing. The library carries non-sensitive marketing content only, because it is served publicly with no login in front of it.

The problem
  • Boilerplate sales copy retyped per quote
  • One tenant's copy leaking onto another tenant's surfaces
  • A blank-looking portal for a builder who has not configured anything
Sound familiar?
What you get
Set the copy once and it appears on every quote
Override it for a single unusual job without changing the house default
Tenant content is scoped to the tenant, enforced server-side
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 →