The client brief
The same week, split in two: your own campaign data on one side, public discourse on the other — the two data classes never mixed into one number.
Preview — the artifact exactly as the product produced it
If the preview doesn't load in your browser, open it directly.
Where this file came from
Rendered by the app itself, in the same `npm run demo:full` run, through generateUnifiedBrief() and renderUnifiedBriefHtml(). The public-discourse half is built from the synthetic public sources the demo loads through the within-terms connectors; the outlets and officials in it are invented.
What was changed afterwards
Nothing. This file is written by the product and committed as-is.
The data is invented; the arithmetic is not
Every person, address, household, outlet and official in this file is generated. The counts, partitions and progress figures are computed by the same code that would run on real voters — which is the only part of a sample worth showing.
The artifact carries: “All figures in this demo are synthetic.”
The other samples
This is what a demo shows you.
The same synthetic demo campaign, with a person walking you through it and answering the awkward questions.
Ask for a demo