Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Kronaxis/kronaxis-panel-studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kronaxis

Kronaxis Panel Studio

1,000 synthetic consumers in 30 seconds. Self-hosted. No human panelists, no recruitment, no incentive payments.

BSL 1.1 · Website · Commercial Licence · DYNAMICS-8 Spec


What is Panel Studio?

Traditional consumer research costs £10,000–£50,000 per study, takes weeks to recruit, and pays panelists who lie or rush. Panel Studio replaces the panel with thousands of simulated consumers, each with a unique DYNAMICS-8 personality, a coherent life history, and census-weighted demographics. Submit a product concept, an ad, a policy proposal — every persona responds in character, producing demographically segmented sentiment data in minutes instead of weeks.

It runs entirely on your hardware via a local LLM server. Your stimuli, your sentiment data, and your derived insights stay on your machine.

500 pre-loaded UK personas are included. Start running stimuli immediately after docker-compose up.

How it compares to traditional and AI consumer research

Panel Studio Synthetic Users / SyntheticUsers.com Resemble.ai (synthetic data) Traditional panel (Quester / Kantar / Nielsen)
Cost per study Self-hosted: just GPU electricity £10–50/persona; £500+/study Subscription (varies) £10,000–£50,000+
Time to first response ~30 seconds (local LLM) minutes (cloud) minutes (cloud) 1–6 weeks (recruitment + fielding)
Personality framework DYNAMICS-8 (Big Five + HEXACO + 2 digital-age dimensions) proprietary proprietary demographic only
Demographic weighting Census-weighted via country builders (20 countries) US-centric varies targetable but expensive
Data residency Fully local; nothing leaves your machine Cloud only Cloud only varies
Reproducibility Same persona ID + same stimulus = same response not deterministic not deterministic impossible (human variability)
Public falsifiable validation Yes — see KPM-1 election predictions No No (not the model's claim)
Source available âś“ (BSL 1.1) âś— âś— âś—
Best for Fast iteration, sensitive stimuli, longitudinal studies Hosted convenience Adjacent use case (training data) Regulatory / publishable studies that demand human panels

If your study needs to be defensible in a regulator's eyes, run a traditional panel. For everything else — concept screening, ad pre-testing, conjoint, longitudinal sentiment tracking — Panel Studio gives you the iteration speed of code with sentiment data that's been publicly validated against real-world outcomes.

Part of the Kronaxis research stack

  1. DYNAMICS-8 — the eight-dimension psychographic framework Panel Studio uses to score every persona
  2. Panel Studio (this repo) — the engine that simulates 500–65,000 DYNAMICS-tagged personas at a time
  3. KPM-1 — pre-registered, hash-verified election predictions (the public proof Panel Studio's outputs map to reality)
  4. Kronaxis Router — the LLM proxy that makes running 65,000 simulated personas economically viable

Each piece is independently usable; together they cover the loop from psychographic framework → simulated population → public falsifiable forecast → cost-efficient inference at scale.

Features

  • Multi turn conversations with follow-up questions that build on previous responses
  • Conjoint analysis to test product attributes and price sensitivity across personality segments
  • Focus group synthesis that generates naturalistic group discussions from individual responses
  • Panel builder to create new persona panels from demographic specifications
  • Scheduled stimuli on cron or interval expressions for longitudinal research
  • Export to JSONL, Parquet, and CSV for training data or downstream analysis
  • Cross-panel comparison of sentiment across different demographic panels
  • Runs locally on a local LLM server with no data leaving your machine

Quick Start

git clone https://github.com/kronaxis/kronaxis-panel-studio.git
cd kronaxis-panel-studio
cp .env.example .env

Set the mandatory values in .env:

echo "TFS_DB_PASSWORD=your_secure_password" >> .env
echo "FLASK_SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_hex(32))')" >> .env
echo "OLLAMA_MODEL=qwen2.5:3b" >> .env

Then start everything:

docker-compose up -d

The default language model (~2.5 GB) is pulled automatically on first boot. Monitor progress with docker logs kps-ollama -f. Once the model is ready, open http://localhost:8090, navigate to Panels, select "UK Census Panel", and start a conversation.

GPU recommended. The LLM server runs on CPU if no GPU is available, but inference will be significantly slower. A GPU with 6 GB+ VRAM is recommended for interactive use.

API

Panel Studio exposes a REST API for programmatic access. When PANEL_STUDIO_API_KEY is not set (the default), all endpoints are open. Set it in .env to require an X-API-Key header.

For local development, disable the Kronaxis gate (which otherwise requires a free account for exports and panel building):

KRONAXIS_GATE_ENABLED=false

List panels

curl http://localhost:8090/api/panels

Create a conversation and submit a stimulus

# Get the panel ID from the list above.
PANEL_ID="<your-panel-id>"

# Create a conversation.
CONV=$(curl -s http://localhost:8090/api/panels/$PANEL_ID/conversations \
  -H "Content-Type: application/json" \
  -d '{"title": "Product test"}')

CONV_ID=$(echo $CONV | python3 -c "import sys,json; print(json.load(sys.stdin)['id'])")

# Submit a stimulus. Every persona in the panel responds.
curl http://localhost:8090/api/panels/$PANEL_ID/conversations/$CONV_ID/ask \
  -H "Content-Type: application/json" \
  -d '{"stimulus": "A new meal kit service delivers pre-portioned ingredients for 5 meals per week at GBP 45. Would you subscribe? Why or why not?"}'

The /ask endpoint returns immediately with a run_id. Poll /status for progress, or open the web UI to watch responses stream in via SSE.

Check progress

curl http://localhost:8090/api/panels/$PANEL_ID/conversations/$CONV_ID/status

Export results

# JSONL (default), CSV, Parquet, or full JSONL with persona metadata.
curl "http://localhost:8090/api/panels/$PANEL_ID/conversations/$CONV_ID/export?format=jsonl" \
  -o responses.jsonl

curl "http://localhost:8090/api/panels/$PANEL_ID/conversations/$CONV_ID/export?format=csv" \
  -o responses.csv

Architecture

               +------------------+
               |   Panel Studio   |  Flask, port 8090
               |   (app server)   |
               +--------+---------+
                        |
           +------------+------------+
           |                         |
  +--------v---------+     +---------v--------+
  |   PostgreSQL 15  |     |   LLM Server     |
  |   + pgvector     |     |  (local model)   |
  |   port 5432      |     |  port 11434      |
  +---------+--------+     +------------------+
            |
   500 seed personas
   loaded on first boot
Service Container Port Purpose
panel-studio kps-panel-studio 8090 Flask web application and API
ollama kps-ollama 11434 Local LLM inference server
db kps-db 5432 PostgreSQL 15 with pgvector
model-pull kps-model-pull -- One-shot init container; pulls the default model

How a stimulus flows: you submit a question to a panel. Panel Studio loads each persona's DYNAMICS-8 profile, life narrative, and conversation memory into a personalised prompt. The LLM generates a response shaped by that persona's personality. Responses are aggregated by age, gender, region, and personality segment. The result is a demographically broken-down sentiment report with individual-level data available for export.

DYNAMICS-8

DYNAMICS-8 is an eight-dimension personality framework built for behavioural simulation. It extends Big Five and HEXACO with two dimensions for digital and economic behaviour: Acuity (digital fluency) and Impulsivity (delay discounting). Each dimension is a continuous float from 0.0 to 1.0 with four granular facets, giving 32 behavioural parameters per persona.

Code Dimension What It Predicts
D Discipline Comparison shopping, budget adherence, structured decisions
Y Yielding Endorsement susceptibility, social proof response, compliance
N Novelty Early adoption, brand switching, content diversity
A Acuity Digital campaign engagement, platform behaviour, privacy settings
M Mercuriality Risk aversion, emotional framing response, crisis behaviour
I Impulsivity Purchase speed, notification response, impulse buying
C Candour Authenticity preference, luxury vs value positioning
S Sociability Word-of-mouth amplification, review behaviour, sharing

The full specification is available at lib/dynamics/DYNAMICS-8.md and kronaxis.co.uk/dynamics. The DYNAMICS-8 framework is also available as a standalone library: github.com/kronaxis/dynamics-8.

Data

The 500 pre-loaded personas are the same ungated dataset available on HuggingFace. Each persona includes full demographics (age, gender, ethnicity, occupation, income, education, location), a DYNAMICS-8 profile, and a life narrative. The distribution is census weighted against ONS 2021 data.

Larger datasets (5,000+ premium personas, 65,000 constituency-level personas, custom countries) are available under commercial licence. See COMMERCIAL_LICENCE.md.

Configuration

All configuration is via environment variables in .env. See .env.example for the full list.

Variable Required Default Purpose
TFS_DB_PASSWORD Yes -- PostgreSQL password
FLASK_SECRET_KEY Yes -- Flask session secret
OLLAMA_MODEL No (see .env.example) Language model for persona responses
OLLAMA_BUILD_MODEL No -- Separate (larger) model for panel building
PANEL_STUDIO_AUTH No false Enable session-based login and multi-tenancy
KRONAXIS_GATE_ENABLED No true Require free Kronaxis account for exports and building

Commercial Use

Kronaxis Panel Studio is source-available under the Business Source Licence 1.1. Free for internal, non-commercial use: research, education, evaluation, and personal projects. Each version converts to Apache 2.0 within 5 years of release.

A commercial licence is required if you:

  • Use Panel Studio to generate revenue (directly or indirectly)
  • Deploy Panel Studio as part of a production service
  • Redistribute Panel Studio or create derivative works

Commercial licences are available and include managed cloud API, premium persona datasets, and dedicated support. Contact [email protected] for pricing.

Patents

Panel Studio and DYNAMICS-8 are protected by UK Patent Application GB 2605150.8: "Consumer Behaviour Simulation System", filed 10 March 2026.

Links


Built by Jason Duke, Kronaxis Limited

About

Synthetic consumer panels: 1,000 simulated personas in 30 seconds, self-hosted, no recruitment. Each persona has a DYNAMICS-8 personality, life history, and census-weighted demographics. Validated publicly via KPM-1.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors