Files
agenciapsilmno/development/04-roadmap/ROADMAP.md
T
Leonardo 7c20b518d4 Sessoes 1-6 acumuladas: hardening B2, defesa em camadas, +192 testes
Repositorio estava ha ~5 sessoes sem commit. Consolida tudo desde d088a89.

Ver commit.md na raiz para descricao completa por sessao.

# Numeros
- A# auditoria abertos: 0/30
- V# verificacoes abertos: 5/52 (todos adiados com plano)
- T# testes escritos: 10/10
- Vitest: 192/192
- SQL integration: 33/33
- E2E (Playwright, novo): 5/5
- Migrations: 17 (10 novas Sessao 6)
- Areas auditadas: 7 (+documentos com 10 V#)

# Highlights Sessao 6 (hoje)
- V#34/V#41 Opcao B2: tenant_features com plano + override (RPC SECURITY DEFINER, tela /saas/tenant-features)
- A#20 rev2 self-hosted: defesa em 5 camadas (honeypot + rate limit + math captcha condicional + paranoid mode + dashboard /saas/security)
- Documentos hardening (V#43-V#49): tenant scoping em storage policies (vazamento entre clinicas eliminado), RPC validate_share_token, signatures policy granular
- SaaS Twilio Config (/saas/twilio-config): UI editavel para SID/webhook/cotacao; AUTH_TOKEN permanece em env var
- T#9 + T#10: useAgendaEvents.spec.js + Playwright E2E (descobriu bug no front que foi corrigido)

# Sessoes anteriores (1-5) consolidadas
- Sessao 1: auth/router/session, normalizeRole extraido
- Sessao 2: agenda - composables/services consolidados
- Sessao 3: pacientes - tenant_id em todas queries
- Sessao 4: security review pagina publica - 14/15 vulnerabilidades corrigidas
- Sessao 5: SaaS - P0 (A#30: 7 tabelas com RLS off corrigidas)

# .gitignore ajustado
- supabase/* + !supabase/functions/ (mantem 10 edge functions, ignora .temp/migrations gerados pelo CLI)
- database-novo/backups/ (regeneravel via db.cjs backup)
- test-results/ + playwright-report/
- .claude/settings.local.json (config local com senha de dev removida do tracking)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 15:42:46 -03:00

279 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AgenciaPsi — Roadmap em Fases
> Proposta derivada de `ESTRUTURA.md` (o que já existe) + `concorrentes.md` (o que o mercado tem).
> Data: 2026-04-17
> **Decisões estratégicas** abertas pra validação estão marcadas com ⚠️
---
## Posicionamento recomendado (proposta)
Olhando o estado atual e o terreno competitivo, recomendo:
> **"Psicomanager moderno + IA"** — competir diretamente no nicho de psicologia BR (onde já temos 75-80% pronto), ganhar por **UX moderna** (Vue 3 / PrimeVue / dark mode) e **IA nativa** (onde Psicomanager/PsicoPlanner ainda estão correndo atrás). Pricing entry baixo (tipo PsicoPlanner R$59-79/mês solo) + tier clínica pra monetizar rede.
**Por quê esse corte:**
- 🎯 **Foco:** psico-first (e não generalista como iClinic/Amplimed) — o diferencial é conhecer profundamente o fluxo CFP
- 🎯 **Competitividade:** IA é o campo aberto — Amplimed (Amélia) e Jane (AI Scribe) já estão lá; ainda dá pra chegar
- 🎯 **Custo:** solo-dev → priorizar features de **alto ROI por esforço**; deixar TISS/hospital-grade pra depois
- 🎯 **UX:** PrimeVue/Tailwind dá dignidade visual que Psicomanager ainda não tem
⚠️ **Decisão aberta:** se você quer competir por preço-baixo (PsicoPlanner) ou por valor-alto (Jane App), o roadmap muda. Supus mid-market aqui.
---
## Legenda de esforço
- **S** — <1 semana (quick win)
- **M** — 1-3 semanas
- **L** — 3-8 semanas
- **XL** — 2+ meses (feature grande, múltiplas deps)
## Legenda de prioridade
- 🔴 **Bloqueador** — sem isso, não rola lançar a fase
- 🟠 **Alta** — cria valor imediato pro usuário, reduz churn
- 🟡 **Média** — completa a paridade, não é urgente
- 🔵 **Diferencial** — aposta de posicionamento
---
# 🚀 FASE 1 — MVP Launch
**Objetivo:** ter um produto cobrável, confiável, completo o suficiente pra um terapeuta solo trocar Psicomanager/PsicoPlanner pelo AgenciaPsi.
**Timeline sugerida:** 4-6 semanas
**Critério de saída:** 5 usuários pagantes em produção sem churn por "falta de feature básica".
## 1.1 Monetização (bloqueador total) 🔴
Você **não consegue cobrar** os próprios clientes nem as assinaturas SaaS sem isso.
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 1 | **Integração com gateway de pagamento** (Asaas ou Iugu recomendado pro BR — PIX + cartão + boleto nativos) | L | Asaas é o mais barato pra começar; Iugu tem API melhor. Escolha 1. Stripe só se for internacional. |
| 2 | **Cartão on file** (tokenização via gateway) | M | Desdobra de #1 |
| 3 | **Auto-billing recorrente** (baseado na agenda) | M | Trigger: sessão realizada → gera fatura → cobra automaticamente |
| 4 | **Cobrança das próprias assinaturas SaaS** (tenants pagam pelo plano) | M | Aproveita estrutura de `subscriptions` que já existe |
## 1.2 Compliance básico BR 🔴
Não dá pra lançar sem isso ou você pega processo em 6 meses.
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 5 | **Tipo de registro profissional** (CRP, CRM, CRFa, RMS…) — campo obrigatório no cadastro | S | Aparece em recibos/laudos |
| 6 | **Biblioteca de consent forms editáveis** (TCLE, Telehealth, LGPD, Gravação, TCLE menores) | M | Templates pré-prontos; profissional customiza |
| 7 | **Assinatura eletrônica pelo paciente no portal** (simples, com IP+timestamp) | M | Não precisa ICP-Brasil nessa fase |
| 8 | **Nome social** no cadastro (além do nome de registro) — CFP exige | S | Campo adicional; aparece em todas as telas voltadas ao paciente |
| 9 | **Especialidades** no cadastro do profissional (lista + "outra") | S | DB: tabela `specialties` + FK em `profiles` |
## 1.3 UX mínima esperada 🟠
Todo concorrente tem — usuário novo estranha se não tiver.
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 10 | **Busca global no topbar** (paciente, email, telefone) | S | Autocomplete com debounce + highlight |
| 11 | **Recently viewed** (últimos 5 pacientes acessados, por usuário) | S | localStorage ou tabela `user_recent_access` |
| 12 | **Papel timbrado** (portar do UniaoApp como você mencionou) | M | Já existe noutro projeto — só adaptar |
| 13 | **Relatórios com export PDF/Excel** (já tem estrutura, fechar) | M | Fechar os gaps que o MVP assessment apontou |
## 1.4 Fiscal mínimo 🟠
Pra o terapeuta conseguir operar.
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 14 | **Recibo profissional** (PDF gerado, com dados CFP) | S | Já tem base de documentos — só formalizar template |
| 15 | **NFS-e emissão** (integração Focus NF-e ou NFS-e direto da prefeitura) | L | Pode ficar pra 1.5 se apertar prazo; faz diferença pro profissional se diferenciar |
## 1.5 Qualidade pra lançar 🟠
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 16 | **Testes E2E dos fluxos críticos** (cadastro, login, agendamento, cobrança, prontuário) | L | Playwright ou Cypress; prioridade: compra + agendamento |
| 17 | **Responsividade mobile validada** (terapeuta consulta agenda no celular) | M | Auditoria + fix de breakpoints |
| 18 | **Monitoramento de produção** (Sentry + Supabase dashboards) | S | Detectar bugs antes do usuário reclamar |
### 📦 Entregas da Fase 1
- **Produto cobrável** (gateway integrado)
- **Legal safe** (consent forms, nome social, especialidades)
- **UX polida** (busca, papel timbrado, relatórios)
- **Testado** (E2E crítico + mobile)
### ⚠️ Decisões abertas
- **Gateway:** Asaas (barato) vs Iugu (melhor DX) vs Stripe (internacional depois) — recomendo **Asaas** pra começar rápido
- **NFS-e:** incluir na 1.4 ou empurrar pra 2? Recomendo **incluir** — é quick win e diferencia de Psicomanager
- **Pricing:** qual é o seu valor? (R$59 solo como PsicoPlanner? R$99? R$149?) — afeta quanto time você tem pra chegar nas próximas fases
---
# 🏗️ FASE 2 — Paridade Competitiva
**Objetivo:** qualquer usuário avaliando AgenciaPsi × Psicomanager × PsicoPlanner deve ver **paridade ou mais** de features. Nenhum "ah, mas lá tem X" válido.
**Timeline sugerida:** 2-3 meses após Fase 1
**Critério de saída:** feature checklist empatada com top-3 concorrentes nichados.
## 2.1 Comunicação / Engajamento (onde PsicoPlanner ganha hoje) 🟠
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 19 | **Agenda diária automática 7h via WhatsApp** | S | Cron job + template; feature signature do PsicoPlanner |
| 20 | **Confirmação de presença pelo paciente** ("responder SIM") | M | Parser de resposta WhatsApp/SMS → atualiza status |
| 21 | **Rastreamento de engajamento em tempo real** (recebeu/leu/respondeu) | M | Webhooks da Evolution API + dashboard no topbar |
| 22 | **Envio de prescrição/documento via WhatsApp direto** | S | Botão "Enviar via WA" já gerando link temporário |
## 2.2 Prontuário (onde iClinic ganha hoje) 🟠
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 23 | **Templates de nota** (SOAP / DAP / BIRP / evolução livre CFP-style) | M | Biblioteca com templates selecionáveis |
| 24 | **Biblioteca de instrumentos de avaliação** (GAD-7, PHQ-9, BDI, BAI, DASS-21, SRQ-20) com scoring automático | L | Cada escala tem perguntas + score calculado + gráfico de evolução |
| 25 | **Histórico em gráfico/tabela** (evolução de escalas ao longo do tempo) | M | Chart.js já no projeto |
| 26 | **Versionamento de notas** (auditoria de alterações) | M | Log de alterações + diff visual |
## 2.3 Intake / Onboarding do paciente 🟡
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 27 | **Pacote de intake** (formulários + anamnese + consent forms enviados pré-1ª-sessão) | M | Fluxo: terapeuta monta pacote → paciente recebe link → preenche → assina → terapeuta vê tudo |
| 28 | **Upload de arquivo pelo paciente** (exames, relatórios externos) | S | Storage bucket já configurado |
## 2.4 Agenda / Integrações 🟡
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 29 | **Google Calendar 2-way sync** | L | API OAuth + conflict resolution |
| 30 | **iCal feed** (leitura por Apple Calendar / Outlook) | S | Endpoint que serve .ics |
## 2.5 Fiscal avançado BR (onde Amplimed/iClinic ganham) 🟡
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 31 | **Assinatura digital ICP-Brasil** (laudos com validade jurídica) | L | Integração com ValidCertificadora ou similar |
| 32 | **Faturamento TISS básico** (pra clínicas que têm convênio) | XL | Nichado — só se você quiser ir pra tier clínica/rede |
## 2.6 Marketing / Presença 🟡
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 33 | **Perfil público do terapeuta** (página /p/<slug> com bio, horários, agendamento) | M | Já tem agendador público — só enriquecer |
| 34 | **SEO básico** (schema.org/MedicalBusiness + meta tags) | S | Melhora descoberta orgânica |
### 📦 Entregas da Fase 2
- Paridade completa com Psicomanager/PsicoPlanner/iClinic
- **Sem furo comparativo** em review de feature
- Começo de presença pública (perfil + SEO)
### ⚠️ Decisões abertas
- **TISS (item 32):** grande esforço por nichado — só faz sentido se você for atrás de mercado de clínica com convênio. **Recomendo não fazer** nesta fase.
- **ICP-Brasil (item 31):** pesa? Depende do público. Terapeuta solo raramente precisa. Clínica com laudo pericial, sim. **Recomendo empurrar pra Fase 3** se o MVP foi pra solo.
---
# 🧠 FASE 3 — Diferenciação (IA-first)
**Objetivo:** ter 2-3 features que **nenhum concorrente BR tem em paridade**. Vira marketing: "o sistema com IA pra psicólogos".
**Timeline sugerida:** 3-6 meses após Fase 2
**Critério de saída:** você consegue justificar um **tier premium 2x mais caro** que o básico.
## 3.1 IA — Onde compensa correr 🔵
O time de IA geral (Claude, GPT) tá commoditizado — vantagem vai pra quem **integra bem** ao workflow do usuário.
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 35 | **Bot WhatsApp que agenda sozinho** (equivalente Amélia Agendamento) | XL | Stack: Evolution API + LLM + RAG na disponibilidade da agenda. ROI claro: **24/7 sem recepcionista** |
| 36 | **Transcrição de sessão áudio→texto** (equivalente AI Scribe do Jane + Amélia Transcrição) | L | Whisper API local ou Deepgram; paciente consente; transcrição vira rascunho de nota |
| 37 | **Copilot no prontuário** (resumir histórico, sugerir diagnóstico diferencial baseado em notas anteriores, buscar semântica) | L | RAG em cima das notas do paciente |
| 38 | **Gerador de documentos com compliance CFP** (equivalente PsiAssist) | M | LLM com system prompt de CFP + templates |
## 3.2 Teleconsulta nativa 🔵
Se o público-alvo inclui teleatendimento (grande chance pós-pandemia), isso é essencial.
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 39 | **Vídeo nativo integrado** (Daily.co ou Jitsi Meet) | L | Sala gerada por consulta + link no lembrete |
| 40 | **Sala de espera virtual** | M | Profissional admite paciente |
| 41 | **Whiteboard digital + screen share** | M | Daily.co tem nativo |
## 3.3 Rede / Multi-unidade (se posicionar pra clínicas) 🔵
Só fazer se posicionar pra tier **enterprise**. Solo-therapist não precisa.
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 42 | **Multi-unidade / filiais** com Main Office | L | Tabela `clinic_units` + FK em consultas/profissionais |
| 43 | **Salas e equipamentos como recursos** (estilo Jane App) | M | Evita double-booking |
| 44 | **CRM de leads** (captura de landing → funil → matching com terapeuta) | L | Aproveita o perfil público da Fase 2 |
| 45 | **BI avançado** (MRR, cohort retention, LTV por terapeuta) | M | Dashboards dedicados |
## 3.4 UX premium / diferenciação fina 🔵
| # | Feature | Esforço | Notas |
|---|---|---|---|
| 46 | **Website builder pra clínica** (estilo Jane) — sem precisar de Wix/WordPress | XL | Grande mas ROI de marketing enorme |
| 47 | **App mobile (PWA otimizado)** — paciente instala no celular | M | Vue já dá PWA grátis, só polir |
| 48 | **Migração assistida de Psicomanager** (importador de CSV/API) | M | Feature de venda: "deixa o outro, a gente migra" |
### 📦 Entregas da Fase 3
- **IA-nativa** posicionamento (bot WhatsApp, transcrição, copilot) — Amplimed/Jane nível
- **Teleconsulta própria** (se optar)
- Opcional: tier **enterprise** com multi-unidade
- **Website builder** como moat de marketing
### ⚠️ Decisões abertas
- **Foco único ou múltiplas apostas?** Recomendo: **só IA (3.1)** no primeiro semestre da Fase 3. Teleconsulta e Multi-unidade podem esperar Fase 4.
- **Custo de IA:** transcrição (Whisper) + LLM (Claude/GPT) tem custo por uso — precisa embutir no pricing ou cobrar add-on
---
# ❌ O que ficou FORA do roadmap (propositalmente)
Decisões de "não fazer" são tão importantes quanto as de fazer:
- **Prescrição eletrônica de medicamentos** — só psiquiatras usam; mercado nichado demais
- **Marketplace de terapeutas público** (tipo Doctoralia) — é um negócio completamente diferente; seu negócio é gestão, não captação
- **E-prescribing com farmácia integrada** — idem, só pra psiquiatra
- **Controle de estoque** (Ninsaúde/iClinic têm) — irrelevante pra psicólogo
- **Integração com laboratórios** — irrelevante
- **Controle de vacinas** (iClinic tem) — irrelevante
- **Multi-idioma** (SimplePractice tem espanhol) — empurrar pra Fase 4+ quando for pensar LATAM
- **Certificação HIPAA/HITRUST** — caríssima; LGPD suficiente pra BR
- **App iOS/Android nativo** — PWA resolve 90% do caso; nativo só se houver demanda explícita
---
# 📊 Resumo em tabela
| Fase | Foco | Duração | Features | Esforço total |
|---|---|---|---|---|
| **1 — MVP** | Cobrável + legal safe + UX básica | 4-6 semanas | 18 itens | ~3M de backlog |
| **2 — Paridade** | Empatar com competição BR | 2-3 meses | 16 itens | ~4L de backlog |
| **3 — Diferenciação IA** | Virar "o SaaS com IA pra psico" | 3-6 meses | 14 itens | ~5XL de backlog |
---
# 🎯 Decisões estratégicas pendentes (pra você)
Antes de começar, definir:
1. **Pricing** — R$59, R$99 ou R$149 solo? Afeta quanto tempo você tem pra chegar na Fase 2.
2. **Tier clínica** — vai existir desde o MVP ou só na Fase 3? Afeta item 32 (TISS) e 42 (multi-unidade).
3. **Gateway de pagamento** — Asaas (barato) vs Iugu (melhor DX)? Escolher agora.
4. **IA própria ou terceirizada?** — chamar API da Anthropic/OpenAI (rápido, custo variável) ou rodar modelos open-source localmente (lento, custo fixo)? **Recomendo API** pra começar.
5. **Foco na Fase 3** — IA-first, teleconsulta-first, enterprise-first? Você só tem tempo pra **uma** dessas apostas no primeiro semestre.
6. **Data de lançamento do MVP** — se a meta é 2026-06-01, Fase 1 tem que terminar mid-maio. Planejar capacity.
---
# 📎 Referências cruzadas
- **`ESTRUTURA.md`** — o que já existe no sistema (79 features construídas)
- **`concorrentes.md`** — benchmark de 7 players (SP, Psicomanager, iClinic, Amplimed, PsicoPlanner, Ninsaúde, Jane)
- **`mapa-sistema.html`** — visualização interativa do que está feito
- **`memory/project_mvp_assessment.md`** (25/03/2026) — gaps críticos MVP-assessment original
---
**Próximo passo sugerido:** você lê, contesta o que discorda, responde as 6 decisões pendentes lá em cima, e a gente passa pra **backlog executável** da Fase 1 (breakdown task-por-task do que você vai fazer esta semana / próxima).