Draft — placeholder page
This page exists so the site structure is complete and navigable. The copy is a skeleton, not finished content: it has not been written, fact-checked against the product truth inventory, or reviewed. This page isnoindex and excluded from sitemap.xml until its entry is removed from DRAFT_PAGES insrc/site/config.mjs.
Contact BallotLink
The single conversion point for the whole site — the primary CTA on every page lands here, so this page is the one that has to work.
Planned sections
Each of these becomes an H2 with an answer block of 40 words or fewer directly beneath it, then the proof.
- Get in touch
- How fast we respond
- Where we operate
Needed before this page can be written
- The form itself. Name, email, phone, organisation, role dropdown, message. The role dropdown is the valuable part — it segments every lead automatically into inspector / election services company / management company / board member.
- Autosave is a RULE, not a nicety (playbook RULE 11): localStorage with a 7-day expiry. A half-finished form that vanishes is a lost customer.
- Where submissions go. Not
leads@— that mailbox does not exist and is not being created (see docs/BRAND.md). Submissions go toinfo@ballotlink.vote, the locked NAP address. Note the harder half: this site is static files behind Nginx with no Node process, so there is nothing here to receive a POST. It needs a submit target, the same problem the signup form has — and the same answer, which is that the thing with a server handles it. - Spam protection: honeypot plus rate limiting at minimum.
- A response-time commitment we will actually hit. Pick a number, then hit it.
- The locked NAP values (RULE 7). Email and service area are locked; the phone is still PENDING and renders as a visible “pending” in the footer until Brandon picks one.
ContactPageschema.
Meanwhile
The pages that are written are the homepage, the guide forInspectors of Elections, and the one for election services companies.
