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>
15 KiB
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/ 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:
- Pricing — R$59, R$99 ou R$149 solo? Afeta quanto tempo você tem pra chegar na Fase 2.
- Tier clínica — vai existir desde o MVP ou só na Fase 3? Afeta item 32 (TISS) e 42 (multi-unidade).
- Gateway de pagamento — Asaas (barato) vs Iugu (melhor DX)? Escolher agora.
- 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.
- Foco na Fase 3 — IA-first, teleconsulta-first, enterprise-first? Você só tem tempo pra uma dessas apostas no primeiro semestre.
- 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á feitomemory/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).