Stress-test per idee di business e messaggi di marketing: 5 archetipi psicologici simulati via AI analizzano la tua idea senza pietà e ti dicono dove il messaggio si rompe, prima che lo faccia il mercato.
- Descrivi l'idea (modalità Idea/Progetto) o incolla il messaggio esatto che vedrebbe il cliente (modalità Claim/Messaggio).
- 5 archetipi la analizzano in parallelo, ognuno con profilo OCEAN e vincoli di vita reale:
- 🧐 Il Cinico Prudente — diffida di tutto, cerca prove
- 📱 Il Distratto Cronico — 5 secondi di attenzione
- 💰 Il Comparatore Frugale — confronta tutto, ogni euro va giustificato
- 🚀 L'Innovatore Annoiato — ha visto tutto, cerca il genuinamente nuovo
- 😰 L'Ansioso Sociale — paralizzato dal rischio, cerca conferme
- Ricevi il verdetto: chiarezza del messaggio, friction heatmap del funnel, obiezioni brutali, suggerimenti di pivot e (con i competitor) la Battle Arena.
| Funzione | Descrizione |
|---|---|
| Stress Test | Analisi singola con i 5 archetipi + Pivot Generator |
| Auto-Refine | Loop iterativo (pattern autoresearch di Karpathy): analizza → migliora → ri-analizza, tiene solo le versioni che alzano il composite score |
| Battle Arena | Confronto di preferenza vs competitor e vs "non fare nulla" |
| Intervista | Chat 1:1 con ogni archetipo per approfondire le obiezioni |
| Cronologia | Ogni test viene salvato (ultimi 50) e può essere riaperto o eliminato |
| Export | Report HTML (stampabile in PDF) e Markdown, sia per lo Stress Test sia per l'Auto-Refine |
Due modalità di funzionamento:
Produzione / SaaS (consigliata per servire clienti)
- Node.js 18+
ANTHROPIC_API_KEYimpostata (crea la key su console.anthropic.com). Le analisi girano sull'API Anthropic, fatturate a consumo. Vedi DEPLOY.md.
Sviluppo locale (senza API key)
- Claude Code CLI installato e autenticato (
claude -pdeve funzionare): l'analisi usa la tua subscription Claude Code. - Su Windows: Git for Windows (il CLI viene invocato via Git Bash).
npm install
cp .env.example .env # opzionale: imposta ANTHROPIC_API_KEY per usare l'API
npm run dev # http://localhost:3001| Variabile | Default | Scopo |
|---|---|---|
ANTHROPIC_API_KEY |
— | Se impostata, usa l'API Anthropic invece del CLI |
BIAS_MODEL_FAST |
claude-haiku-4-5 |
Modello API per gli archetipi |
BIAS_MODEL_SMART |
claude-sonnet-5 |
Modello API per pivot/refine/battle arena |
BIAS_RATE_LIMIT_MAX |
20 |
Analisi per sessione nella finestra |
BIAS_RATE_LIMIT_WINDOW_MS |
3600000 |
Durata finestra rate limit (1h) |
BIAS_CLAUDE_PATH |
claude (Win: %APPDATA%/npm/claude) |
Percorso del CLI Claude (solo fallback CLI) |
BIAS_BASH_PATH |
auto-detect Git Bash | Percorso di bash su Windows (solo fallback CLI) |
BIAS_CLAUDE_TIMEOUT_MS |
90000 |
Timeout per singola chiamata LLM |
Ogni browser riceve un cookie di sessione anonimo: cronologia e risultati sono
isolati per sessione (data/sessions/<id>.json) e protetti da rate limiting.
Ogni analisi si apre con un verdetto executive (GO / DA RIVEDERE / STOP)
pensato per chi non vuole interpretare le metriche una per una.
npm run dev # dev server su porta 3001
npm run build # build di produzione
npm test # test unitari (vitest)
npm run typecheck # tsc --noEmit
npm run lint # eslintsrc/
├── app/
│ ├── page.tsx # UI principale (input → loading → risultati)
│ ├── demo/ # pagina demo statica
│ └── api/
│ ├── analyze/ # POST: stress test completo
│ ├── auto-refine/ # POST: loop iterativo (SSE streaming)
│ ├── interview/ # POST: chat con un archetipo
│ ├── history/ # GET lista, GET/DELETE per id
│ └── last-result/ # GET: ultimo risultato salvato
├── lib/
│ ├── analysis/
│ │ ├── llm.ts # provider LLM: API Anthropic o CLI (fallback dev)
│ │ ├── claude-cli.ts # wrapper claude -p (retry, timeout, env config)
│ │ ├── verdict.ts # verdetto executive GO/RIVEDI/STOP
│ │ ├── orchestrator.ts # fan-out 5 archetipi + pivot + battle arena
│ │ ├── auto-refine.ts # loop keep/discard sul composite score
│ │ ├── result-store.ts # cronologia per sessione su data/sessions/
│ │ └── json-utils.ts # parsing robusto dell'output LLM
│ ├── archetypes/profiles.ts # i 5 profili psicologici
│ ├── prompts/system-prompt.ts # prompt builder
│ ├── report/ # generatori report HTML/Markdown
│ ├── validation/ # validazione input alle API
│ └── types/analysis.ts # tipi condivisi
└── components/ # dashboard, form, cronologia
score = clarity (0-100) + buyIntent (0-100) - frictionIndex × 10
Range −100…+200. Una iterazione viene tenuta (KEEP) solo se supera il miglior score precedente, altrimenti si torna alla versione migliore (come git reset --hard in autoresearch).
BIAS non predice il successo commerciale: identifica i punti deboli del messaggio attraverso simulazioni basate su archetipi psicologici. Usalo come red team, non come oracolo.