Respondent Pool Designer: Governed Pool Specification with Proportional Auto-Balancing
#worksona#market-research#survey#panterra#react#governance
David OlssonRespondent Pool Designer is a React 18 + Tailwind three-step wizard for specifying research respondent pools with hard demographic constraints. Step 1 โ Demographics โ lets researchers define age bands, income ranges, regions, and target proportions. Step 2 โ Questionnaire โ attaches screening questions to demographic cells. Step 3 โ Summary โ presents the full specification for review before locking it.
Once finalized, the pool definition is immutable. Changes require a new version. The locked specification is exported as JSON, which feeds downstream tools in the Panterra research chain.
The proportional auto-balancing feature is central to the workflow. When a user edits one demographic dimension โ adjusting the age band split, for example โ the income splits recalculate automatically to maintain the configured ratios. The arithmetic is handled by the tool, not by the researcher.
Why is it useful?
Research reproducibility depends on knowing exactly what population was targeted. When pool definitions live in spreadsheets or email threads, they drift between study planning and fieldwork execution. Versions accumulate without clear lineage, and the definition that was actually used becomes ambiguous.
Pool Designer enforces a single source of truth: the locked JSON. Every demographic cell, proportion, and screening criterion is recorded at a point in time with a timestamp. The immutability constraint is a deliberate governance choice โ it removes the possibility of quiet post-hoc edits that would invalidate the study design.
Auto-balancing removes a category of manual calculation errors. Multi-dimensional demographic grids are easy to misconfigure when proportions are adjusted by hand. The tool recalculates the grid on every edit, so the researcher reviews a consistent, valid specification before locking.
How and where does it apply?
Pool Designer is the first step in the Panterra research lifecycle.
The exported JSON is the contract between study design and fieldwork execution. Survey 10 consumes it directly โ the pool spec determines which respondents qualify and how cells are filled against targets.
The tool is also useful standalone as a structured briefing document for market research agencies. The JSON serializes to a human-readable specification that agencies can implement in their own panel systems, with no ambiguity about what was requested.
{
"version": "1.0",
"lockedAt": "2026-04-16T10:00:00Z",
"totalN": 200,
"demographics": {
"age": [
{ "band": "18-34", "proportion": 0.40, "n": 80 },
{ "band": "35-54", "proportion": 0.35, "n": 70 },
{ "band": "55+", "proportion": 0.25, "n": 50 }
]
},
"screening": [
{ "question": "Do you use project management software?", "requiredAnswer": "yes" }
]
}
The lockedAt timestamp and version field together make every pool spec independently auditable. Two studies that reference the same JSON are, by definition, targeting the same population.