chore: initial monorepo scaffold + WDS Phase 1+2 artifacts

- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24)
- apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004)
- apps/web: React 19 + Vite 8 (ESM)
- libs/shared/api-interface: Zod contract base
- Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit
- WDS artifacts:
  - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs)
  - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact)
- Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md
- AGENTS.md + README.md como entrada para devs/agentes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 14:34:20 +00:00
commit 17c08e6392
3631 changed files with 855518 additions and 0 deletions

View File

@@ -0,0 +1,114 @@
# Persona — Rafael Representante (PRIMARY)
**Phase 2 — Trigger Mapping · Workshop 2-4**
**Status:** PRIMARY persona do MVP — 70-90% do volume de uso
**Device-target:** Mobile-first PWA iOS (Android continua no app legado)
---
## Quem é Rafael
> Vendedor B2B externo, 30-50 anos, com 50-200 clientes ativos numa região definida. Comissionado — meta mensal pesa pesado na renda da família. Trabalha no carro, no posto, no escritório do cliente, no fundo da loja. **Raramente** na frente de um computador. Conhece o setor melhor que o supervisor, mas precisa de ferramenta que respeite essa expertise sem atrapalhar o fluxo.
### Dia típico (cenário canônico)
- **6h30** — café em casa, olha agenda do dia no celular ainda na cama
- **7h30** — primeira visita; consulta histórico, comissão acumulada do mês, status de pedidos abertos
- **9h-12h** — 3-4 visitas, alguns pedidos lançados na rua (sinal 3G/4G ruim)
- **12h** — almoço; revisa funil de propostas, responde WhatsApp de clientes
- **13h-17h** — mais visitas; aprovação de desconto sendo trocada no WhatsApp com Sandra
- **17h** — para no posto, atualiza CRM, marca check-in da última visita
- **20h** — antes de dormir, confere meta do mês e marca visitas de amanhã
### O que o motiva (em uma frase)
> **"Bater meta sem virar máquina."**
---
## Driving Forces
### ✅ Positive forces (motivações, aspirações)
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **R+1** | **Bater meta** | Comissão é metade do salário. Saber em tempo real quanto falta para meta é combustível diário. | 5/5 | 5/5 | 5/5 |
| **R+2** | **Clareza absoluta da carteira** | Saber sem pensar: quanto, pra quem, status. Eliminar consulta "preciso ligar pro escritório pra confirmar". | 5/5 | 5/5 | 5/5 |
| **R+3** | **Ser visto como profissional moderno** | Diferenciar-se de reps que ainda andam com talão de papel + WhatsApp. Trabalha com ferramenta de gente grande. | 3/5 | 4/5 | 4/5 |
| **R+4** | **Autonomia em campo** | Não depender do escritório para decisões simples (preço dentro da alçada, agendar visita, registrar contato). | 5/5 | 4/5 | 5/5 |
| **R+5** | **Reagir rápido ao cliente** | Cliente pediu algo no WhatsApp às 14h32, ter resposta antes de sair do estabelecimento. | 4/5 | 5/5 | 4/5 |
### ❌ Negative forces (medos, frustrações)
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **R-1** | **Cliente esfria e ele não vê** | Cliente top deixou de comprar há 47 dias e ele descobre tarde, perdeu o timing. | 3/5 | 5/5 | 5/5 |
| **R-2** | **Levar bronca por algo que já sabia** | Supervisor cobra um cliente que ele "deveria ter visitado" — informação que ele dizia que estava no WhatsApp. | 4/5 | 4/5 | 4/5 |
| **R-3** | **Perder pedido por bug ou sem sinal** | Lança pedido R$ 8 mil, sem sinal, app trava, pedido some. Crítico — esse é P0 absoluto do MVP. | 2/5 | 5/5 | 5/5 |
| **R-4** | **Comissão é mistério até fim do mês** | Calcula em Excel próprio "pra não confiar cego". Estresse mensal evitável. | 5/5 | 4/5 | 5/5 |
| **R-5** | **Ferramenta lenta no 3G/4G ruim** | Fica esperando tela carregar enquanto cliente espera resposta. Frustração diária. | 4/5 | 5/5 | 5/5 |
| **R-6** | **WhatsApp informal pra tudo** | Cliente troca número de WhatsApp, anota no papel; supervisor não sabe; perde-se. | 4/5 | 3/5 | 4/5 |
| **R-7** | **Ser substituível** | Receio existencial — se a ferramenta sabe tudo do cliente, qualquer um pode vender no lugar dele. (⚠️ tensão a respeitar — produto não pode parecer espião) | 2/5 | 4/5 | N/A (não-feature) |
---
## Score consolidado (Freq × Int × Fit)
Top 5 forces de Rafael (driving forces de alto impacto):
| Rank | Force | Score |
|---|---|---|
| 1 | **R+1 Bater meta** | 125 |
| 1 | **R+2 Clareza da carteira** | 125 |
| 3 | **R-5 Lentidão no 3G/4G ruim** | 100 |
| 3 | **R+4 Autonomia em campo** | 100 |
| 3 | **R-4 Comissão é mistério** | 100 |
---
## Features que respondem às forças de Rafael
| Force | Feature SAR que responde |
|---|---|
| R+1 Bater meta | **Gauge de meta em tempo real** no painel + indicador no header em qualquer tela |
| R+2 Clareza da carteira | **Visão 360° do cliente** (timeline, histórico, contatos, pedidos, comissão por cliente) |
| R+3 Profissional moderno | UX moderna PWA (diferencial vs concorrentes legados) |
| R+4 Autonomia em campo | **Lançamento de pedido offline com sync** + alçada de desconto local |
| R+5 Reagir rápido | **WhatsApp nativo no app** + Share API para encaminhar orçamento |
| R-1 Cliente esfria | **Alerta proativo de inativos** (>60 dias) com IA ranking |
| R-2 Levar bronca | **Timeline do cliente** mostra última visita; agenda+check-in GPS |
| R-3 Perder pedido | **IndexedDB queue + Idempotency-Key** (offline robusto, P0 absoluto) |
| R-4 Comissão mistério | **Comissão visível em tempo real** (calculada por pedido, FLEX rateado) |
| R-5 Lentidão 3G | **PWA com Service Worker** + cache agressivo + lazy load |
| R-6 WhatsApp informal | **Contatos centralizados** no cadastro de cliente + WhatsApp linkado |
---
## O que NÃO fazer (anti-padrões pra Rafael)
- ❌ Forçar Rafael a abrir desktop para consulta básica
- ❌ Onboarding longo no primeiro login (carro/posto: tem 30s, não 30 min)
- ❌ Notificações push para tudo (Rafael odeia ruído quando está com cliente)
- ❌ Dashboards "executivos" no painel do rep — ele quer ação, não relatório
- ❌ Gamificação ranking público (R-7 risco existencial — sem leaderboard "rep do mês")
- ❌ Tela cheia de gráficos antes de chegar no que ele precisa fazer
---
## Métricas de adoção (entradas em Phase 3 — Success Criteria)
- **% pedidos lançados pelo SAR vs paralelo (WhatsApp/papel):** > 95% após 60 dias
- **Tempo médio de lançamento de pedido:** < 60 segundos
- **DAU/MAU:** > 70% (uso diário)
- **NPS dos reps:** > 30 (reps são duros — 30 já é bom)
- **Pedidos perdidos por bug/sync:** **0 (P0 absoluto)**
---
## Citações canônicas (servem de North Star em UX writing)
> "Sem sinal. Envio depois."
> "Meta de junho: faltam R$ 12.400."
> "OPENFRIOS não compra há 47 dias. Visite ou ligue."

View File

@@ -0,0 +1,125 @@
# Persona — Sandra Supervisora (SECONDARY — alto impacto)
**Phase 2 — Trigger Mapping · Workshop 2-4**
**Status:** SECONDARY persona — 5-15% do volume de uso · INFLUENCIADORA-CHAVE da compra
**Device-target:** Desktop-first + mobile-light (PWA para consultas/aprovações rápidas)
---
## Quem é Sandra
> Gerente comercial / supervisora regional, 35-55 anos. Coordena 5-30 representantes. Reporta direto para o dono ou diretor comercial. **Vive no escritório** com notebook aberto o dia todo, mas precisa de mobile-light para aprovar desconto durante reuniões/almoço. Conhece quase todos os clientes top da carteira. Foi rep antes — sabe o que é estar na rua.
### Dia típico
- **8h30** — chega ao escritório, café, abre SAR no notebook
- **8h45-9h30** — "tela do dia": checa quem fez check-in, aprovações pendentes, alertas de inativos
- **9h30-12h** — reuniões individuais com reps em campo (WhatsApp/áudio), libera descontos
- **12h-13h** — almoço; ainda recebe push de aprovação no celular
- **13h-17h** — análises, ajustes em pauta com Alice, fechamento do dia
- **17h** — fechamento: revisa o dia, prepara plano de amanhã
- **18h+** — eventual emergência (cliente top reclamando, pedido urgente)
### O que a motiva (em uma frase)
> **"Time bater meta sem que eu vire babá."**
---
## Driving Forces
### ✅ Positive forces
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **S+1** | **Time bate meta consistentemente** | Cobrança vem do Daniel; se time bate, ela respira. Reconhecimento profissional. | 5/5 | 5/5 | 4/5 |
| **S+2** | **Visibilidade em tempo real do que acontece na rua** | Saber "quem visitou quem hoje" sem ligar pra ninguém. Eliminar consulta manual. | 5/5 | 5/5 | 5/5 |
| **S+3** | **Tomar decisão tática com dados na frente** | Aprovar desconto vendo histórico, margem, comportamento do cliente. | 4/5 | 5/5 | 5/5 |
| **S+4** | **Dormir tranquila** | Ter certeza que nada crítico passou despercebido — clientes top OK, reps OK, pedidos OK. | 4/5 | 5/5 | 4/5 |
| **S+5** | **Ser vista como gestora moderna** | Subordinados percebem que ela usa tech de ponta — autoridade técnica. | 2/5 | 3/5 | 3/5 |
| **S+6** | **Identificar talento e problema na equipe** | Ver quem está bombando e quem está enrolado, sem precisar perguntar. | 3/5 | 4/5 | 4/5 |
### ❌ Negative forces
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **S-1** | **Descobrir tarde demais que algo deu errado** | Cliente top bloqueado, pedido travado, rep parado há 3 dias — descobre na reunião semanal. | 4/5 | 5/5 | 5/5 |
| **S-2** | **Aprovação de desconto vira fila no WhatsApp** | Reps mandando 10 áudios/dia pedindo R$ X de desconto, sem contexto, sem timeline. | 5/5 | 4/5 | 5/5 |
| **S-3** | **Ficar refém de planilhas + WhatsApp** | Sair de uma ferramenta, abrir Excel, copy-paste número, voltar pro WhatsApp. Fluxo quebrado. | 5/5 | 4/5 | 5/5 |
| **S-4** | **Perder cliente top sem saber** | Cliente importante começa a comprar menos, Sandra só percebe quando dono pergunta. Vergonha profissional. | 3/5 | 5/5 | 5/5 |
| **S-5** | **Ser cobrada por algo que rep não relatou** | Daniel pergunta "por que perdemos OPENFRIOS?", Sandra não sabe porque rep não avisou. | 3/5 | 5/5 | 4/5 |
| **S-6** | **Reunião semanal de 90 min que suga tempo** | Reunião viraliza porque ninguém tem dado em tempo real. Suga 1h30 produtiva. | 5/5 | 4/5 | 4/5 |
| **S-7** | **Ser vista como Big Brother pelos reps** | Reps acharem que ela vigia demais (R-7 do Rafael, espelhada). Conflito de cultura. (⚠️ tensão a respeitar — UI dela não pode expor "rep está parado") | 3/5 | 3/5 | N/A |
---
## Score consolidado
Top 5 forces de Sandra:
| Rank | Force | Score |
|---|---|---|
| 1 | **S+2 Visibilidade tempo real** | 125 |
| 2 | **S-1 Descobrir tarde demais** | 100 |
| 2 | **S-2 Aprovação no WhatsApp** | 100 |
| 2 | **S-3 Refém de planilhas** | 100 |
| 2 | **S+3 Decisão tática com dados** | 100 |
| 2 | **S-4 Perder cliente top sem saber** | 75 (3×5×5) — alto impact mesmo com freq menor |
---
## Features que respondem às forças de Sandra
| Force | Feature SAR que responde |
|---|---|
| S+1 Time bate meta | **Dashboard de meta da equipe** + comparativo entre reps |
| S+2 Visibilidade tempo real | **Tela do dia** com check-ins, pedidos, alertas — atualização Socket.IO/SSE |
| S+3 Decisão tática com dados | **Fila de aprovações com contexto** (cliente, margem, histórico, alçada) |
| S+4 Dormir tranquila | **Resumo do dia / fim do expediente** com "tudo OK / N alertas" |
| S+5 Gestora moderna | UX desktop dense + atalhos teclado (Linear-like) |
| S+6 Identificar talento/problema | **Comparativo entre reps** (privado, só pra ela) — sem ranking público |
| S-1 Descobrir tarde demais | **Alertas proativos** (push + in-app) — pedido travado, rep sem check-in, cliente top sem pedido |
| S-2 Aprovação WhatsApp | **Aprovação 1-clique no SAR** com contexto completo · push notification para mobile |
| S-3 Refém planilhas | **Tudo no SAR** + export CSV quando precisar (não importar) |
| S-4 Cliente top esfriando | **Watchlist de clientes-chave** com alerta automático |
| S-5 Cobrança sem dado | **Timeline de visitas + observações** (rep registra cada visita) |
| S-6 Reunião 90 min | **Dashboard substitui parte da reunião** — menos discussão de "o que aconteceu" |
| S-7 Big Brother | UI **não expõe rastreamento punitivo** — métricas como apoio, não controle (decisão de design importante) |
---
## O que NÃO fazer (anti-padrões pra Sandra)
- ❌ Tela com 30 KPIs sem hierarquia clara (Sandra precisa **decidir**, não navegar)
- ❌ Linguagem punitiva sobre reps ("Rep X falhou", "Tempo ocioso") — fere R-7 e cria conflito interno
- ❌ Modal de "Atenção!" para cada coisa (push fadiga)
- ❌ Aprovação de desconto que exige sair pra outra tela
- ❌ Relatórios em PDF — Sandra quer tela viva, não documento
---
## Tensão de design: Sandra ↔ Rafael
R-7 (Rafael teme ser substituível/vigiado) ↔ S+6 (Sandra quer identificar talento e problema)
**Resolução:** SAR mostra **dados de output** (pedidos, faturamento, % meta), não **dados de input punitivos** (tempo logado, % tela ativa, geofencing detalhado). Sandra vê quem está produzindo; não vê "rep X está parado há 47 minutos no posto de gasolina".
---
## Métricas de adoção
- **% aprovações via SAR (não WhatsApp):** > 90% em 60 dias
- **% dias úteis com acesso à "tela do dia":** > 80%
- **Tempo médio de aprovação de desconto:** < 30 min (vs horas no WhatsApp)
- **NPS Sandra:** > 50 (gestores apreciam ferramenta boa)
- **Push notifications ações decisivas:** taxa de leitura > 80%
---
## Citações canônicas
> "3 aprovações pendentes."
> "Rep João sem visita há 2 dias."
> "Tudo OK. Bom fim de semana."

View File

@@ -0,0 +1,141 @@
# Persona — Daniel Dono (SECONDARY — alto valor)
**Phase 2 — Trigger Mapping · Workshop 2-4**
**Status:** SECONDARY persona — 1-5% volume · BUYER persona (overlap em PME pequena) · IA estratégica é diferencial declarado
**Device-target:** Desktop + iPad first-class (uso noturno em casa)
---
## Quem é Daniel
> Sócio-fundador ou herdeiro de negócio familiar B2B, 40-65 anos. Já passou pela operação — foi rep, foi gerente — hoje dirige. Tem o caixa, decide investimentos. Gerencia "no peito" há anos; agora quer ferramenta que **substitua sua intuição parcialmente**, não que reforce essa dependência. Conhece o setor melhor que ninguém — mas reconhece que está cego em dados.
### Dia típico
- **8h** — escritório, café, abre relatórios do dia anterior (hoje no Desktop legado, futuro no SAR)
- **8h30-10h** — reuniões com Sandra, financeiro, eventual operacional
- **10h-12h** — agenda externa: cliente top, banco, fornecedor estratégico
- **14h-17h** — análise + decisão estratégica + chamadas
- **18h** — fim do expediente
- **21h-22h** — em casa, no iPad, **abre SAR pra ver "o que tô esquecendo"** → momento crítico de uso
### O que o motiva (em uma frase)
> **"Dirigir sem operar — e nunca mais ser surpreendido pelo concorrente."**
---
## Driving Forces
### ✅ Positive forces
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **D+1** | **Insight estratégico, não relatório passivo** | Quer "olha aqui, isso aqui está sangrando" — não "veja o relatório anexo". | 4/5 | 5/5 | 5/5 |
| **D+2** | **Dirigir sem micro-gerir** | Confiar no time + ter painel que avisa quando algo desvia. Liberdade de delegação. | 5/5 | 5/5 | 4/5 |
| **D+3** | **Posicionamento estratégico de mercado** | Crescer market share, ganhar de concorrente, vencer feira do setor. Reconhecimento do mercado. | 3/5 | 5/5 | 3/5 |
| **D+4** | **IA explicável que vira "segundo cérebro"** | Sentir que tem analista PhD trabalhando 24/7 olhando os dados dele — sem o custo de contratar. | 3/5 | 5/5 | 5/5 |
| **D+5** | **Decisão de investimento com dados sólidos** | Contratar mais reps? Trocar tabela de preço? Decisão com base, não chute. | 3/5 | 5/5 | 4/5 |
| **D+6** | **Histórico longo + tendência clara** | Comparar mês×mês, ano×ano, sazonalidade — narrativa de evolução. | 3/5 | 4/5 | 4/5 |
### ❌ Negative forces
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **D-1** | **Decidir no escuro com dado velho** | Recebe planilha de ontem, decide hoje, descobre amanhã que dado mudou. Cético com qualquer ferramenta lenta. | 4/5 | 5/5 | 5/5 |
| **D-2** | **Ser surpreendido por concorrente** | Concorrente cresceu 20% no setor, ele não viu até ler na imprensa. Ferida narcísica. | 2/5 | 5/5 | 3/5 |
| **D-3** | **Investir em ferramenta que não engata** | Já comprou software antes que ninguém usou. Resistência à compra de SaaS novo. (relevante na venda + retenção) | 2/5 | 5/5 | 4/5 |
| **D-4** | **Perder cliente top em silêncio** | Top 10% da carteira responde por 50%+ do faturamento. Perder 1 cliente top = trimestre arranhado. | 3/5 | 5/5 | 5/5 |
| **D-5** | **Reuniões longas com supervisor sem dado** | Sandra reporta "está OK", mas o dado bruto está no Excel da Sandra, não no sistema do Daniel. Frustração crônica. | 4/5 | 4/5 | 4/5 |
| **D-6** | **IA black-box que não consegue explicar** | Receia "isso aí é só hype" se a IA não diz **por que** está alertando. Conhece o setor — quer ver lógica. | 3/5 | 5/5 | 5/5 |
| **D-7** | **Pagar caro por algo que entrega pouco** | Como dono, sente custo recorrente diretamente. Quer ROI visível. | 5/5 | 4/5 | 4/5 |
---
## Score consolidado
Top 5 forces de Daniel:
| Rank | Force | Score |
|---|---|---|
| 1 | **D+1 Insight estratégico** | 100 |
| 1 | **D+2 Dirigir sem operar** | 100 |
| 1 | **D+4 IA explicável "segundo cérebro"** | 75 (3×5×5) |
| 1 | **D-1 Decidir no escuro** | 100 |
| 1 | **D-6 IA black-box** | 75 |
---
## Features que respondem às forças de Daniel
| Force | Feature SAR que responde |
|---|---|
| D+1 Insight estratégico | **Card "IA disse hoje"** no topo do painel — 1-3 insights/dia priorizados |
| D+2 Dirigir sem operar | **Painel executivo** focado em outcomes (faturamento, top/bottom, alertas), não em operação |
| D+3 Posicionamento mercado | Pós-MVP: benchmarking setorial (anonimizado, cross-tenant — futuro) |
| D+4 IA segundo cérebro | **Análises proativas:** carteira esfriando, oportunidades, anomalia de margem |
| D+5 Decisão de investimento | Comparativo mês×mês, análise de concentração, alertas de tendência |
| D+6 Histórico/tendência | **Gráficos longitudinais** (Chart.js) com tendência + sazonalidade |
| D-1 Decidir no escuro | **Real-time entre cockpits** — Daniel sempre vê o "agora", não o "ontem" |
| D-2 Surpreendido por concorrente | Pós-MVP: mercado/benchmark |
| D-3 Investir e não engatar | Onboarding white-glove no MVP + acompanhamento das primeiras semanas |
| D-4 Perder cliente top em silêncio | **Watchlist clientes-chave** com alerta IA proativo |
| D-5 Reunião com Sandra sem dado | **Dashboard que Sandra e ele veem JUNTOS** (mesmo tempo real) |
| D-6 IA black-box | **IA explicável obrigatória:** cada alerta tem "por que te digo isso" |
| D-7 Pagar caro sem ROI | **Card de "valor entregue"** (clientes recuperados, descontos racionalizados, etc.) — pós-MVP |
---
## O que NÃO fazer (anti-padrões pra Daniel)
- ❌ Tela operacional ("aqui tem 3 pedidos para aprovar") — isso é da Sandra
- ❌ Relatório PDF em vez de tela viva
- ❌ IA que aparece como "magia" sem explicar premissa
- ❌ Métricas vaidade sem ação ("você teve 234 logins esse mês")
- ❌ Notificações constantes (Daniel não é operacional — fica chateado com push frequente)
- ❌ Decoração/gamificação (Daniel é veterano, não nativo digital — clean executive)
---
## Tensão de design: Daniel ↔ Sandra
D+2 (Daniel quer delegar) ↔ S+1 (Sandra quer entregar resultado) — **alinhados**, mas exigem que o painel do Daniel **não duplique o da Sandra**:
- Sandra vê **operacional do dia** (aprovações, alertas, equipe)
- Daniel vê **estratégico do período** (tendência, concentração, IA insight, ROI)
Mesma fonte de dado, **camadas qualitativamente diferentes**.
---
## Tensão crítica: IA explicável vs autonomia
D+4 quer IA proativa MAS D-6 odeia black-box.
**Resolução de design:**
- Cada insight da IA tem **3 partes obrigatórias:**
1. **O que aconteceu:** "Você aprovou 3 descontos > 10% essa semana"
2. **Para quem/onde:** "Todos para OPENFRIOS"
3. **Sugestão (não ordem):** "Considere reavaliar a tabela base para esse cliente"
- Cada insight tem um link/expansão "**Por que te digo isso**" mostrando os dados que levaram à conclusão
- Insight nunca aparece sem dado anexo
---
## Métricas de adoção
- **% dias úteis com acesso ao painel:** > 60% (Daniel não usa todo dia)
- **% IA insights interagidos (lido + clicado em "por que"):** > 50%
- **Acessa IA pelo menos 2x/semana:** **métrica north-star** (Step 8)
- **NPS Daniel:** > 50 (donos B2B são duros, > 50 é bom)
- **Retenção pós-mês 3:** 100% (essa é a north star do MVP)
---
## Citações canônicas
> "Faturamento em junho: R$ 1.2M (+18% vs maio). Liderado por OPENFRIOS."
> "Hoje você aprovou 3 descontos acima de 10%, todos para OPENFRIOS. Considere reavaliar a tabela base para esse cliente."
> "Top 12% da carteira responde por 58% do faturamento. Risco de concentração elevado."

View File

@@ -0,0 +1,134 @@
# Persona — Alice Admin (TERTIARY — operacional crítico)
**Phase 2 — Trigger Mapping · Workshop 2-4**
**Status:** TERTIARY persona — 1-5% volume (em ondas) · NÃO pesa na decisão de compra, mas o produto não roda sem ela
**Device-target:** Desktop-only
---
## Quem é Alice
> Funcionária administrativa da empresa-cliente, 25-45 anos. Trabalha em escritório, desktop o dia todo. Reporta para Sandra ou Daniel. **É quem mantém o produto rodando** — cadastra produtos, atualiza pautas de preço, configura grupos tributários, lança campanhas/promoções, gerencia reps. Não tem treino de dev, mas domina Excel a níveis avançados.
### Dia típico
- **8h** — chega ao escritório, café, abre SAR no desktop
- **8h30-10h** — atualiza pauta de preço da semana, configura promoções de fim de mês
- **10h-12h** — cadastra novos produtos da linha de janeiro (do fornecedor que mandou planilha)
- **12h** — almoço
- **13h-15h** — ajustes tributários (ICMS-ST por UF), revisa cadastros de novos clientes inseridos pelos reps
- **15h-17h** — cadastros de reps novos, ajustes de comissão, suporte a casos pontuais
- **17h** — fechamento
### O que a motiva (em uma frase)
> **"Manter tudo rodando sem incidente, sem depender do dev para ajuste pequeno."**
---
## Driving Forces
### ✅ Positive forces
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **A+1** | **Autonomia operacional (sem precisar do dev)** | Lançar promoção, ajustar pauta, mexer em tributação sem abrir chamado de TI. | 5/5 | 5/5 | 5/5 |
| **A+2** | **Eficiência em bulk operations** | Importar 500 produtos do fornecedor, atualizar pauta de 1000 itens — sem clicar 1000 vezes. | 4/5 | 5/5 | 4/5 |
| **A+3** | **Confiança no que está em produção** | Não ter receio de "estourei o sistema com uma pauta errada". | 5/5 | 5/5 | 4/5 |
| **A+4** | **Trilha de auditoria visível** | Saber quem mexeu em quê, quando. Proteção pessoal e organizacional. | 4/5 | 4/5 | 5/5 |
| **A+5** | **Lançar campanha rapidamente** | Promoção sazonal, kit de produtos, brinde — em < 30 min, não semana. | 3/5 | 5/5 | 3/5 (pós-MVP) |
| **A+6** | **Ser reconhecida como mais que "backoffice"** | Ter ferramenta que respeita seu domínio técnico (tributação, pauta, processo). | 3/5 | 4/5 | 3/5 |
### ❌ Negative forces
| ID | Force | Descrição | Freq | Int | Fit MVP |
|---|---|---|---|---|---|
| **A-1** | **Depender do dev para ajuste pequeno** | "Preciso de uma promoção de 15% no produto X, dev tá ocupado, leva 1 semana." | 4/5 | 5/5 | 3/5 (pós-MVP completo) |
| **A-2** | **Ser culpada por erro em produção** | Pauta com vírgula errada, 1.000 pedidos saem com preço errado. Pesadelo. | 2/5 | 5/5 | 5/5 |
| **A-3** | **ICMS-ST como labirinto sem mapa** | Cada UF tem regra, NCM específico, alíquota... sem assistente, precisa de PDF da legislação. | 3/5 | 5/5 | 4/5 |
| **A-4** | **Perder histórico de mudança** | Editou pauta, alguém depois questiona "por que estava em R$ X mês passado?". Sem evidência. | 3/5 | 4/5 | 5/5 |
| **A-5** | **Telas lentas em bulk** | Editar 200 produtos um por um, tela carrega cada vez. Hora de trabalho perdida. | 4/5 | 4/5 | 4/5 |
| **A-6** | **Ser vista só como "backoffice"** | Esforço técnico invisível — quando dá tudo certo, ninguém percebe; quando dá errado, é culpada. | 3/5 | 4/5 | 3/5 |
---
## Score consolidado
Top 5 forces de Alice:
| Rank | Force | Score |
|---|---|---|
| 1 | **A+1 Autonomia (sem dev)** | 125 |
| 1 | **A+3 Confiança em produção** | 100 |
| 1 | **A-3 ICMS-ST labirinto** | 75 (3×5×5) |
| 1 | **A+4 Trilha auditoria** | 80 |
| 1 | **A-4 Perder histórico** | 60 (3×4×5) |
---
## Features que respondem às forças de Alice
| Force | Feature SAR que responde |
|---|---|
| A+1 Autonomia sem dev | **Editor de campanhas no-code** (pós-MVP) + cadastros completos no MVP |
| A+2 Bulk operations | **Import CSV/Excel** com preview · seleção múltipla com bulk edit · sem refresh entre operações |
| A+3 Confiança em produção | **Preview obrigatório** antes de salvar mudanças em massa · double-confirm para operações destrutivas |
| A+4 Trilha auditoria | **Histórico em cada entidade** (quem, quando, valor anterior) · revertível |
| A+5 Campanhas no-code | **Editor visual de campanha** pós-MVP: "Produto X com 15% off para clientes região Y no mês Z" — sem SQL |
| A+6 Reconhecida | UX que respeita expertise técnica (forms densos, atalhos, profissionalidade) |
| A-1 Depender do dev | Cobertura ampla do editor no-code (pós-MVP) — MVP entrega cadastros e pautas com versionamento |
| A-2 Erro em produção | Preview · validação Zod · "X produtos serão afetados — confirma?" · rollback de pauta versionada |
| A-3 ICMS-ST | **Assistente de tributação:** sugere grupo correto baseado em NCM + UF de destino |
| A-4 Perder histórico | Versionamento de pautas · auditoria em produtos/clientes |
| A-5 Telas lentas | **Bulk edit otimizado** (server-side, queries batch via Prisma) |
| A-6 Backoffice invisible | UI elegante para Alice (não tela "tabelão preto e cinza") — Notion-inspired |
---
## O que NÃO fazer (anti-padrões pra Alice)
- ❌ Wizard de 10 passos para criar promoção (Alice quer form denso, não condução infantil)
- ❌ Pedido constante de confirmação para tudo (Alice é técnica, sabe o que faz)
- ❌ Esconder funcionalidade avançada atrás de "modo avançado" (Alice é avançada)
- ❌ Sem atalho de teclado em telas de cadastro (Alice digita rápido, mouse é freio)
- ❌ Form sem auto-save (Alice perde 30 min de cadastro por refresh acidental)
- ❌ Bulk operations sem preview (Alice é cuidadosa — quer ver antes de aplicar)
---
## Restrições MVP (refinamento da tensão Step 10)
Como solo founder + 3-4 meses não comporta tudo, **o cockpit Alice no MVP** tem:
| Feature | MVP | Pós-MVP |
|---|---|---|
| Cadastro de produto | ✅ Form denso completo | Bulk import refinado |
| Cadastro de cliente | ✅ Completo (com integração ERP eventual) | — |
| Cadastro de rep | ✅ Permissões + região + comissão | Hierarquia rep → supervisor |
| Pauta de preço | ✅ Edição + versionamento | Diff visual entre versões |
| ICMS-ST por UF | ✅ Configuração manual | **Assistente automático por NCM** |
| Campanhas/Promoções | 🟡 Tela direta (editar 1 a 1) | **Editor visual no-code** |
| Auditoria | ✅ Histórico em cada entidade | UI dedicada de auditoria/relatório |
| Bulk operations | 🟡 Import básico | Edit múltipla, scripts |
Alice no MVP é **suficiente para o produto rodar**, mas não brilha como diferencial. O **editor no-code** é onde ela passa a ser argumento de marketing — entra pós-MVP.
---
## Métricas de adoção
- **% campanhas lançadas sem suporte (no-code editor):** > 80% (pós-MVP feature do editor)
- **Tempo médio de cadastro de produto:** < 90 segundos
- **Erros de pauta em produção (mensais):** 0 (P0)
- **NPS Alice:** > 40 (admins têm vida dura — > 40 é bom)
- **Adoção do assistente ICMS-ST:** > 70% dos novos cadastros (pós-MVP)
---
## Citações canônicas
> "Pauta atualizada. 1.247 produtos afetados."
> "Promoção lançada. 234 itens em desconto até 30/06."
> "Grupo tributário sugerido pela IA para NCM 22030000 + UF SP. Aplicar?"