# belezaki! — Playbook de Execução da Onda 1 (a Cunha 🗡️)

> **Versão**: 1.0 (maio/2026)
> **O que é**: o detalhamento operacional, sprint a sprint, da **Onda 1** do roadmap anti-Avec — a "cunha" que entra por onde a Avec é cega (clínica/estética, verticais nichadas, IA flagship) antes de encostar nas frentes onde ela domina (marketplace, fintech).
> **Janela**: meses 1 a 5 (~18–20 semanas).
> **Pré-requisito de leitura**: `03-plano-de-sprints.md` (seção 0 — Estratégia anti-Avec) e `04-pesquisa-concorrentes.md` (seção 2.3 — deep-dive Avec).

---

## 0. A tese da Onda 1 em uma frase

> A Avec tem 40 mil+ salões, split de pagamentos, IA de agenda no WhatsApp e fintech — **mas não tem prontuário clínico, anamnese, termos, protocolos, nem IA acima do agendamento**. A Onda 1 ocupa exatamente esse vazio: vendemos para **clínicas de estética e estúdios de nicho** com um produto que a Avec não consegue mostrar numa demo. Sem efeito de rede pra vencer — só um mercado mal atendido esperando.

**O que NÃO fazemos na Onda 1** (corte deliberado de escopo): marketplace público, conta digital/Pay, multiunidade, NF-e completa, online booking público com SEO. Tudo isso é Onda 2/3. Aqui o foco é **operar a clínica/nicho de ponta a ponta + plantar a bandeira de IA**.

---

## 1. Estrutura: trilhas, squads e sequência

A Onda 1 roda em **3 trilhas paralelas** com dependências mínimas entre elas.

| Trilha | Squad | Sprints | Função |
|---|---|---|---|
| **A — Core mínimo** | Core (PM + TL + 2 back + 2 front + 1 QA + design) | S0 → S4 | Base operável: auth, cadastros, agenda, comanda, WhatsApp, estoque |
| **B — Clínica (a cunha)** | Clínica (PM + 2 back + 2 front + 1 QA) — entra na semana 5 | CLI1 → CLI4 | Prontuário, termos, protocolos, foto-evolução |
| **C — IA flagship + voz** | IA/Dados (ML Lead + 2 ML eng + 1 data eng) — entra na semana 7 | IA1, IA3, MKT1 | Assistant conversacional, fotoanálise, recepcionista por voz |
| **(transversal) Verticais** | Core squad, pós-S4 | VERT | Registry de nichos (Brow/Lash/Barber/Make/Nails) sobre o core |
| **(transversal) DevOps** | 1 SRE | desde S0 | Infra, CI/CD, observabilidade |

**Time mínimo pra começar a Onda 1**: 7 pessoas (Core). Clínica (5) entra no mês 2; IA (4) no mês 2.5. Pico da Onda 1 ≈ 16 pessoas.

---

## 2. Marcos da Onda 1

| Marco | Quando | Critério de saída (mensurável) |
|---|---|---|
| **M0 — Setup** | fim da semana 2 (S0) | Repo + infra + design system rebrandeado + deploy automático verde |
| **M1 — Cunha operável** 🗡️ | ~semana 12 (Core mín + CLI1-4) | **1 clínica piloto opera 100% no belezaki!**: agenda, prontuário com anamnese, termo assinado digitalmente, protocolo com sessões, foto antes/depois. Nada disso a Avec entrega. |
| **M2 — Bandeira de IA** ✨ | ~semana 18 (IA1 + IA3 + MKT1) | belezaki! Assistant respondendo perguntas de negócio, fotoanálise gerando sugestão de protocolo, recepcionista por voz agendando por telefone. **Os 3 argumentos de venda que a Avec não tem numa demo.** |

---

## 3. TRILHA A — Core mínimo (S0 → S4)

> Objetivo da trilha: ter o esqueleto operável que sustenta clínica e nichos. **Enxuto de propósito** — booking público, NF-e e BI ficam pra Onda 2.

### SPRINT 0 — Setup + Rebrand + Multi-tenant (sem 1–2)

**Meta**: plataforma vazia mas operável, com login e isolamento de tenant.

Entregas:
- Monorepo Turborepo + pnpm; CI/CD (lint, typecheck, test, build, deploy preview por PR).
- Infra: Postgres 16, Redis, storage de objetos (fotos), observabilidade (logs + traces + Sentry).
- Auth: e-mail/senha (bcrypt) + Google/Apple OAuth; iron-session.
- **Multi-tenant**: `getTenantContext()` em toda query; RLS lógico por `tenantId`.
- RBAC: papéis `owner`, `gerente`, `profissional`, `recepcao` (+ `profissional_clinico` pra trilha B).
- Design system dopamine (tokens, componentes base) reaproveitando o UniverHub.
- Onboarding wizard: criar tenant → escolher vertical → cadastrar serviços/profissionais.

Dados (Prisma): `Tenant`, `User`, `Membership(role)`, `Session`, `AuditLog`.
Aceite: dono cria conta, escolhe "Clínica de estética", entra num dashboard vazio; segundo tenant não enxerga dados do primeiro (teste de isolamento automatizado).
vs Avec: paridade de fundação — mesa.
Risco: dívida técnica herdada do UniverHub. **Mitigação**: auditoria nos 3 primeiros dias; se ruim, reescrever o módulo, não estender prazo.

### SPRINT 1 — Cadastros + Agenda visual (sem 3–4)

**Meta**: coração operacional — agenda do dia funcionando.

Entregas:
- CRUD de **serviços** (nome, duração, preço, comissão default, vertical).
- CRUD de **profissionais** + horários de trabalho/folgas.
- CRUD de **clientes** (dados, preferências, aniversário, tags).
- **Agenda visual** por profissional/cabine, dia/semana, com cores por status.
- Agendamento manual (drag & drop, recorrência, bloqueios), lista de espera.

Dados: `Service`, `Professional`, `WorkingHours`, `Customer`, `Appointment(status)`, `Resource(cabine)`.
Server actions: `createAppointment`, `moveAppointment`, `setAppointmentStatus`, `searchCustomers`.
Aceite: recepção monta o dia inteiro arrastando cards; conflito de horário é bloqueado; busca de cliente por nome/telefone < 300ms.
vs Avec: paridade — igualar a agenda visual dela.

### SPRINT 2 — Comanda + Caixa + Pagamentos (sem 5–6)

**Meta**: cobrar e fechar caixa sem planilha.

Entregas:
- **Comanda eletrônica** vinculada ao agendamento (serviços + produtos).
- Fechamento com múltiplas formas (dinheiro, débito, crédito, **PIX**), divisão de pagamento.
- **Caixa diário**: abertura, fechamento, sangria, suprimento, conferência.
- Comissão por serviço (cálculo automático) + folha-resumo do profissional.

Dados: `Comanda`, `ComandaItem`, `Payment`, `CashRegister`, `CashMovement`, `Commission`.
Hook: `closeComanda()` → gera `Payment` + dispara `applyCommission()` + (futuro) `applyLoyalty()`.
Aceite: atende → fecha comanda no PIX → comissão calculada → caixa do dia bate no fechamento.
vs Avec: paridade. (O split avançado da Lei do Salão Parceiro fica pra SAL2 na Onda 2 — aqui só o cálculo de comissão simples.)

### SPRINT 3 — WhatsApp + Lembretes (sem 7–8)

**Meta**: reduzir no-show e centralizar comunicação.

Entregas:
- Integração WhatsApp Business API (BSP oficial — submeter templates **já no S1**).
- Templates aprovados: confirmação, lembrete 24h e 2h, reagendamento, pós-atendimento.
- Régua automática disparada na criação/alteração do agendamento (`scheduleAppointmentReminders`).
- Inbox: resposta inbound vinculada ao cliente; métricas de entrega/resposta.

Dados: `MessageTemplate`, `MessageThread`, `Message`, `ReminderJob`.
Aceite: agendamento criado → cliente recebe confirmação; lembrete 24h sai sozinho; resposta cai no inbox vinculada ao cliente.
vs Avec: **a Avec é forte aqui (IA WhatsApp ilimitado).** Não competimos no volume; entregamos o básico de régua confiável. A diferenciação de IA vem na Trilha C, não aqui.
Risco: aprovação de templates pelo BSP demora. **Mitigação**: submeter no S1.

### SPRINT 4 — Estoque + Produtos + Baixa por uso (sem 9–10)

**Meta**: custo real do serviço e fim do "produto sumindo".

Entregas:
- Cadastro de produtos (SKU, lote, validade, custo, preço).
- Entrada/saída (compra, venda, uso interno, perda); baixa automática por uso em serviço.
- Alertas de estoque mínimo; inventário cíclico.
- **Controle de lote** (base que a Trilha B reaproveita pra insumos clínicos e a vertical Lash pra cola).

Dados: `Product`, `ProductLot`, `StockMovement`, `ServiceConsumption`.
Aceite: receita de serviço consome X de produto → baixa automática no fechamento da comanda; alerta dispara no mínimo.
vs Avec: paridade. **Diferencial latente**: controle por lote vira exigência clínica (validade de insumo) e de nicho (cola de cílios) — a Avec trata genérico.

---

## 4. TRILHA B — Clínica: a CUNHA principal (CLI1 → CLI4)

> Objetivo da trilha: o que a Avec **não tem**. Entra na semana 5 (depois que Core tem auth + cadastros). É o fosso mais difícil de copiar porque exige domínio regulatório (CFM/Anvisa/LGPD-saúde), não só agenda.
> **Ação habilitadora**: contratar advogado de compliance clínico **antes do CLI2**.

### SPRINT CLI1 — Prontuário eletrônico base (sem 5–6)

**Meta**: a clínica registra o histórico clínico do paciente.

Entregas:
- **Prontuário** por cliente: histórico de atendimentos clínicos, queixas, evolução textual.
- **Anamnese configurável** por especialidade (campos, tipos, obrigatoriedade).
- **Contraindicações com bloqueio**: campo marcado como `block` impede agendar/atender até resolução (ex.: "usa isotretinoína?" → bloqueia peeling).
- Anexos por atendimento (documentos, exames).
- Trilha de auditoria clínica (quem viu/editou — exigência LGPD-saúde).

Dados: `ClinicalRecord`, `AnamnesisTemplate`, `AnamnesisResponse`, `AnamnesisField(contraindication)`, `ClinicalAttachment`.
Aceite: profissional clínico abre paciente, preenche anamnese; resposta de contraindicação `block` impede o atendimento e mostra o motivo.
vs Avec: **a Avec não tem prontuário.** Esta é a porta de entrada na clínica.

### SPRINT CLI2 — Termos de consentimento + assinatura digital (sem 7–8)

**Meta**: termo assinado e arquivado, com validade jurídica.

Entregas:
- **Modelos de termo** por procedimento (texto + variáveis do paciente/procedimento).
- Geração do termo preenchido + **assinatura digital** (no tablet/celular do paciente).
- Carimbo de tempo, hash do documento, registro de IP/dispositivo (não-repúdio).
- Arquivo versionado; vínculo termo ↔ atendimento ↔ paciente.
- Conformidade LGPD: base legal, finalidade, retenção, direito de revogação.

Dados: `ConsentTemplate`, `ConsentTerm(signedAt, hash, signerMeta)`, `ConsentSignature`.
Aceite: antes do procedimento, paciente lê e assina no tablet; PDF assinado fica no prontuário; tentativa de atender sem termo obrigatório é bloqueada.
vs Avec: **a Avec não tem.** Dor real e risco jurídico que clínica sente na pele.
Risco: validade jurídica da assinatura. **Mitigação**: advogado valida o fluxo de não-repúdio antes do go-live.

### SPRINT CLI3 — Protocolos terapêuticos + pacotes clínicos (sem 9–10)

**Meta**: vender e executar tratamento em sessões, não serviço avulso.

Entregas:
- **Protocolo**: sequência de sessões (ex.: "10 sessões de criolipólise, 1x/semana") com intervalo recomendado.
- **Pacote clínico pré-pago**: saldo de sessões, controle de consumo, validade.
- Agendamento automático da próxima sessão na cadência do protocolo.
- Vínculo protocolo ↔ anamnese ↔ termo ↔ insumo consumido (lote do estoque).
- Evolução por sessão (o que foi feito, parâmetros do equipamento, observações).

Dados: `Protocol`, `ProtocolSession`, `ClinicalPackage`, `PackageBalance`, `SessionRecord`.
Aceite: vende protocolo de 10 sessões; sistema agenda a próxima na cadência; saldo decrementa; cada sessão registra parâmetros e baixa insumo por lote.
vs Avec: **a Avec não tem protocolo terapêutico nem pacote clínico por sessão.**

### SPRINT CLI4 — Foto clínica + medições + evolução (sem 11–12)

**Meta**: antes/depois e evolução mensurável — o que vende a clínica pro próprio paciente.

Entregas:
- **Captura de foto clínica** padronizada (guia de enquadramento, ângulos fixos).
- Comparador antes/depois (slider) por região/sessão.
- **Medições** (peso, circunferências, escalas) com gráfico de evolução.
- Galeria por paciente com consentimento de uso de imagem (vínculo ao termo).
- Armazenamento seguro (criptografia em repouso; acesso auditado).

Dados: `ClinicalPhoto(region, angle, sessionId)`, `Measurement`, `EvolutionChart`.
Aceite: foto da sessão 1 e da sessão 5 lado a lado; gráfico de circunferência caindo; uso de imagem só liberado com consentimento marcado.
vs Avec: **a Avec não tem foto clínica padronizada nem evolução.** Fecha o M1.

> **🗡️ M1 — Cunha operável atingido aqui**: ao fim do CLI4 + Core mínimo, uma clínica piloto opera 100% no belezaki! com algo que a Avec não consegue demonstrar.

---

## 5. TRILHA C — IA flagship + voz (IA1, IA3, MKT1)

> Objetivo da trilha: as bandeiras de IA que a Avec **não tem na demo**. A Avec tem IA *de agendamento* no WhatsApp (texto) — então não competimos nesse nível; vamos pra camada acima. Entra na semana 7 (precisa de dados do Core/Clínica).

### SPRINT IA1 — belezaki! Assistant (analista conversacional) — 3 semanas (sem 9–11)

**Meta**: perguntar ao negócio em linguagem natural e receber resposta + ação.

Entregas:
- Chat IA dentro do app (web + PWA), com acesso aos dados do tenant sob **guard-rails** (read-only por padrão, escopo por papel).
- Perguntas tipo: "quem são meus 10 melhores clientes?", "quais pacientes não voltam há 60 dias e gastavam > R$ 300?", "qual protocolo tem maior margem?".
- Resposta em texto + **gráfico** + **ação sugerida** (criar campanha, exportar lista, agendar retorno).
- Camada de tradução pergunta → query segura (sem SQL livre; ferramentas tipadas).

Dados: usa o schema existente; adiciona `AssistantConversation`, `AssistantMessage`, `ToolCallLog`.
Aceite: pergunta de negócio responde em < 10s com número correto (validado contra query manual) + 1 ação acionável.
vs Avec: **a Avec não tem analista conversacional.** A IA dela agenda; a nossa explica o negócio. (Inspiração: GlossGenius AI Analyst.)
Risco: custo de IA. **Mitigação**: cache agressivo + modelo menor pra classificação, modelo grande só pra síntese; cobrar IA em plano Pro+.

### SPRINT IA3 — Fotoanálise estética + recomendador de protocolo — 3 semanas (sem 12–14)

**Meta**: foto vira diagnóstico + sugestão de protocolo (upsell automatizado).

Entregas:
- Análise de foto facial/corporal por visão computacional: classifica **Fitzpatrick (I–VI)**, **Glogau**, manchas, rugas, condição de pele.
- Schema de saída tipado (Zod) → ficha técnica + **sugestão de protocolo** do catálogo da clínica.
- Vínculo com anamnese (não sugere o que a contraindicação bloqueia).
- Disclaimer clínico: sugestão de apoio, não diagnóstico médico (revisado pelo jurídico).

Dados: `PhotoAnalysis(fitzpatrick, glogau, findings, suggestedProtocolIds)`.
Aceite: foto do paciente → análise estruturada em < 15s → sugere 1–3 protocolos compatíveis com a anamnese; bloqueia sugestões contraindicadas.
vs Avec: **exclusivo — nenhum player BR ou global embarca isso.** É o argumento de venda mais difícil de copiar.
Risco: precisão e responsabilidade clínica. **Mitigação**: sempre como apoio à decisão do profissional + disclaimer + revisão jurídica.

### SPRINT MKT1 — Recepcionista IA por voz — 3 semanas (sem 15–17)

**Meta**: atender ligação 24/7 e agendar por voz, em pt-BR natural.

Entregas:
- Número virtual (Twilio/Zenvia); ASR (speech-to-text) + TTS (voz neural pt-BR).
- Fluxo: entender pedido → checar agenda real → confirmar → registrar agendamento.
- Function calling: o "cérebro" da IA chama as mesmas ações de agenda do app.
- Mesmo cérebro atende WhatsApp e Instagram DM; transbordo pra humano quando trava.
- Resumo da ligação + transcrição no inbox.

Dados: `VoiceCall(transcript, outcome, appointmentId)`, reuso de `Appointment`.
Aceite: ligação fora do expediente → IA entende, oferece horário disponível real, agenda e confirma; chamada vira registro no sistema.
vs Avec: **a Avec só atende no WhatsApp por texto.** Voz no telefone é flanco aberto — captura o agendamento que hoje se perde fora do horário.

---

## 6. TRILHA transversal — Verticais nichadas (VERT)

> Objetivo: provar que o mesmo core serve Brow/Lash/Barber/Make/Nails com catálogo, anamnese e régua **próprios** — a Avec trata todo nicho igual. Roda pós-S4 (semanas 11–14), Core squad.

Entregas:
- `VERTICAL_REGISTRY` (já prototipado): `getVertical(key)` com fallback `generic`.
- Cada nicho define: catálogo de serviços, templates de anamnese, sequências de WhatsApp, KPIs, add-ons e *feature flags*.
- Diferenciais embarcados por nicho: **Lash** = controle de cola por lote; **Nails** = domicílio + roteirização + estoque de esmalte por foto; **Brow** = mapping facial + termo CFBM; **Barber** = clube de assinatura; **Make** = modo evento (noiva) com contrato + cronograma.
- Onboarding escolhe o nicho e já cai com tudo pré-configurado.

Aceite: ao criar tenant "belezaki! Lash", o catálogo, a ficha técnica e a régua de manutenção (14–21d) já vêm prontos; trocar de nicho não exige redeploy.
vs Avec: **molde único da Avec vs configuração por nicho.** Vende "feito pra você", não "genérico que serve mais ou menos".

---

## 7. Cronograma paralelo da Onda 1 (~18–20 semanas)

```
SEM   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
A-Core[S0 ][S1 ][S2 ][S3 ][S4 ]
B-Clín            [CLI1][CLI2][CLI3][CLI4]
C-IA                       [  IA1   ][  IA3   ][  MKT1  ]
VERT                                   [ VERT  ]
Marco  M0…………………………………… M1(cunha)……………… M2(IA bandeira)
```

Leitura: Core abre caminho; Clínica entra assim que há auth+cadastros (sem 5); IA entra quando há dados (sem 9); voz fecha a bandeira. **M1 cai ~sem 12** (cunha operável), **M2 ~sem 18** (bandeira de IA completa).

### Dependências críticas
- CLI1 depende de S0 (auth/tenant) + S1 (cliente).
- CLI3 (protocolo) depende de CLI1 (anamnese) e S4 (insumo por lote).
- IA1 depende de S2 (dados de comanda/financeiro pra ter o que analisar).
- IA3 depende de CLI1 (anamnese, pra não sugerir contraindicado) + CLI4 (foto).
- MKT1 depende de S1 (agenda real pra checar disponibilidade).

---

## 8. Métricas de sucesso da Onda 1

| Trilha | KPI | Meta da Onda 1 |
|---|---|---|
| Core | Clínica piloto operando 100% no produto | 1 até M1; 5 até fim da Onda 1 |
| Core | No-show com régua de WhatsApp ativa | −15% vs baseline do piloto |
| Clínica | Tempo de preenchimento de anamnese | < 4 min |
| Clínica | Termos assinados digitalmente / atendimentos elegíveis | > 90% |
| Clínica | Pacientes em protocolo ativo (vs sessão avulsa) | > 40% da receita |
| IA | Perguntas respondidas corretamente pelo Assistant | > 90% (amostra validada) |
| IA | Sugestões de protocolo da fotoanálise aceitas pelo profissional | > 30% |
| Voz | Agendamentos capturados fora do expediente / mês | > 20 por clínica piloto |
| Negócio | NPS dos pilotos da cunha | > 50 |

---

## 9. Go-to-market da cunha (paralelo aos sprints)

A venda da Onda 1 **não é salão genérico** — é clínica/estética e nicho, onde a Avec não tem resposta.

- **ICP prioritário**: clínicas de estética avançada (criolipólise, peeling, laser) e estúdios de nicho premium (lash, brow, nails de alto ticket).
- **Pilotos**: 3 clínicas + 2 estúdios de nicho (alinhado ao `plano-validacao-10-pilotos.md`), R$ 0/mês durante o piloto de 4 semanas.
- **Pitch de 1 frase**: *"O sistema da Avec agenda. O belezaki! cuida do paciente: prontuário, anamnese, termo assinado, protocolo por sessão, foto de evolução e IA que analisa a pele e responde sobre o seu negócio."*
- **Demo matadora**: tirar foto do paciente → fotoanálise sugere protocolo → vender o pacote → assinar termo no tablet → agendar a cadência. 3 minutos que a Avec não consegue reproduzir.
- **Benchmark contínuo**: assinar a Avec, testar a IA do WhatsApp e o split, documentar onde ela falha (insumo direto pro material de venda).

---

## 10. Definition of Done (DoD) — toda entrega da Onda 1

- [ ] Funciona multi-tenant (testado com 2 tenants, sem vazamento).
- [ ] Pelo menos 1 caso happy + 1 de erro em teste automatizado (Vitest).
- [ ] Caminho crítico coberto em E2E (Playwright) quando tocar fluxo de usuário.
- [ ] Acessível (contraste, foco, labels) e responsivo (desktop + mobile).
- [ ] Dados sensíveis (clínicos, fotos) criptografados e com acesso auditado.
- [ ] Telemetria: evento de produto disparado pras métricas da seção 8.
- [ ] Revisão de compliance quando tocar prontuário/termo/foto (CFM/Anvisa/LGPD-saúde).
- [ ] Documentação curta no `/docs` e changelog atualizado.
- [ ] Deploy em preview verde antes do merge; produção após QA.

---

## 11. Riscos da Onda 1 e mitigações

| Risco | Mitigação |
|---|---|
| Compliance clínico descoberto tarde | Advogado contratado **antes do CLI2**; revisão de termo, foto e fotoanálise |
| Core atrasa e trava Clínica | Core enxuto de propósito; cortar escopo (não prazo); booking/NF-e/BI ficam pra Onda 2 |
| Avec acelera e copia a clínica | Clínica exige domínio regulatório + fluxo clínico (fosso); acelerar CLI1-4 pra ganhar mind-share |
| Custo de IA explode | Cache + modelo pequeno pra classificar, grande só pra sintetizar; IA em plano Pro+ |
| Fotoanálise gera responsabilidade clínica | Sempre apoio à decisão + disclaimer + revisão jurídica; nunca diagnóstico autônomo |
| BSP demora aprovar templates WhatsApp | Submeter no S1, não no S3 |
| Pilotos não representam o ICP | Selecionar clínicas/nichos (não salão genérico) já na semana 1 |

---

## 12. O que vem depois (gatilho pra Onda 2)

A Onda 2 só começa quando a Onda 1 provar a cunha: **≥ 5 clínicas/nichos operando 100%, NPS > 50 e a bandeira de IA fechando demos**. Aí abrimos a frente de paridade (booking público, NF-e, BI, Salão completo) e o **split com camada fiscal** da Lei do Salão Parceiro — onde empatamos a mesa com a Avec e ganhamos no detalhe que ela não faz. Marketplace e Pay continuam na Onda 3, só com densidade própria conquistada.
