ColdRead

Methodology

How this actually works.

A short, plain-English read on how the panel is built, how reactions are generated, what the scores mean, and — importantly — what this is not.

What it is

A pre-flight reaction panel, not a survey.

Coldread takes a marketing asset (an ad, landing page, email, internal memo, agent output) and runs it past a panel of specifically-defined people. Each "person" is a written persona — name, age, occupation, region, voice, biographical detail — that the model speaks as. You get back individual reactions, scores, recurring objections, and ranked rewrite suggestions. The whole loop takes about five minutes for a 510-person panel and costs roughly two dollars of Anthropic API usage.

How the Americans panel was built

114 hand-written people, demographically anchored.

The default panel is 114 written Americans across trades, healthcare, public service, professional class, retail, agriculture, military, education, and creative work. Demographic targets — occupation, region, age, race, religion, political lean — are set to roughly mirror the U.S. distribution. Each person is then written one by one, by hand, and reviewed against those targets. The output is one Markdown file per person with structured frontmatter (the data the engine uses) and a freeform body (the voice the model speaks in).

The roster is open in the repo. You can read every person before you ever run the system. Specific, not archetypal — not "suburban mom" but Beth Howell, 36, suburban Indianapolis, ex-marketing manager who sees the manipulation in your copy and dismisses it in two seconds.

How a run works (the agentic architecture)

Asset in → 510 independent agent calls → synthesized verdict.

When you submit an asset, the engine fans out one agent call per panel member, each conditioned only on that agent's own persona context — name, age, occupation, region, voice, biographical detail. Each agent produces an in-voice reaction independently. The panel does not talk to itself, does not see other reactions, and is not told what verdict to reach. Disagreement and polarization come out of the diversity of the agents, not a meta prompt.

A separate judging pass — also a single model call — aggregates the 510 individual reactions into a top-line score, sentiment breakdown, recurring themes, objection clusters, and ranked rewrite suggestions. The judge sees the reactions but never the agents' persona context, so it can't inject demographic stereotyping into the synthesis.

Audience-mode runs work the same way but generate ~100 archetype agents from a one-line audience description, then sample 10 variant agents off each, for a 1,000-reaction statistical-shape read alongside or instead of the named panel.

The architecture is genuinely multi-agent: parallel calls with private context, a synthesis layer, and graceful degradation when a single batch is truncated or fails. Read the engine in src/core/.

What the scores mean

Directional, not predictive.

Each panel member gives the asset a 1–10 score and a short reaction in their voice. The aggregate is reported as: average score, "would act" rate, sentiment buckets (love / like / neutral / dislike / hate), top and bottom responders, recurring objections, and ranked recommendations. Use them as a directional read on what specifically lands and what specifically doesn't — the value is in the named reactions and the recurring objections, not the single number at the top.

What this is not

Read this part if you read nothing else.

This is not literal market research. The panel members are written personas, not real recruited respondents. Scores are not prediction; they are a structured pre-flight signal — directional, fast, and cheap, designed to surface obvious mismatches and rewrite opportunities before you spend a dollar on real placement.

It is also not a substitute for real user testing, customer interviews, or paid pilots. Use Coldread as the read you do before spending on those — to kill the obviously-bad version, sharpen the marginally-good one, and walk into the expensive test with a stronger draft.

Privacy and your API key

Your asset never touches our servers.

Coldread runs against Anthropic's API using your API key. The web UI stores your key in your browser's localStorage only — it is never persisted on our side and never sent anywhere except directly to Anthropic. Your asset, the reactions, and the bill all stay between your browser and your Anthropic account. The CLI and MCP server work the same way against your local ANTHROPIC_API_KEY environment variable.

Recent runs are cached in your browser's localStorage so you can re-open them; you can clear them at any time from the homepage. Full disclosure at /privacy.

Cost and limits

Transparent, not subscription-priced.

Approximate Anthropic usage at current pricing (Haiku for the inner reaction loop with prompt caching, Sonnet for archetype generation and the judging pass): a 10-person quick check is ~$0.05 and ~20s; a full 510-person Americans run is ~$2.00 and ~5m; a 1,000-reaction audience run is ~$1.50 and ~3m. The web UI shows the estimated cost and time before you spend a cent.

Open repo

Read the code; read the people.

The engine, the panel definitions, and the simulation prompts are in the open repo at github.com/PeachStateAI/Coldread. If something about the method seems off or under-explained, open an issue or a PR.

← back to Coldread