Skip to content

ipalumbo73/bias

Repository files navigation

BIAS — Brutal Idea Analysis System

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.

Come funziona

  1. Descrivi l'idea (modalità Idea/Progetto) o incolla il messaggio esatto che vedrebbe il cliente (modalità Claim/Messaggio).
  2. 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
  3. Ricevi il verdetto: chiarezza del messaggio, friction heatmap del funnel, obiezioni brutali, suggerimenti di pivot e (con i competitor) la Battle Arena.

Funzionalità

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

Requisiti

Due modalità di funzionamento:

Produzione / SaaS (consigliata per servire clienti)

  • Node.js 18+
  • ANTHROPIC_API_KEY impostata (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 -p deve funzionare): l'analisi usa la tua subscription Claude Code.
  • Su Windows: Git for Windows (il CLI viene invocato via Git Bash).

Avvio

npm install
cp .env.example .env   # opzionale: imposta ANTHROPIC_API_KEY per usare l'API
npm run dev            # http://localhost:3001

Configurazione (opzionale, via env)

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

Multi-utente

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.

Script

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       # eslint

Architettura

src/
├── 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

Composite score (Auto-Refine)

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).

Limiti

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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages