Relatório de progresso — Março 2026

PsicoAmina

Do MVP ao produto real — o que foi construído, o que falta e o que vem a seguir.

Projeto
PsicoAmina
Preparado por
Elastre
Data
Março 2026
Ponto de partida

O MVP

O que existia antes desta fase.

Login, cadastro, recuperação de senha
3 agentes de IA com chat básico
Histórico de conversas na sidebar
Barra de tokens simples
Sistema de assinatura Faltava
Dashboard de créditos Faltava
Upload de arquivos Faltava
Signup com nome completo Faltava
Versão atual

Produto real

O que foi adicionado nesta fase.

Signup com nome completo (fullname) Novo
Dashboard com saldo e renovação Novo
Assinatura mensal e anual completa Novo
Upload de PDF com contexto para IA Novo
Efeito typewriter nas respostas Novo
Frases dinâmicas de loading por agente Novo
4 edge functions no Supabase Novo
Fix RLS + bugs críticos de estabilidade Fix
Funcionalidades novas

O que foi construído

📄

Upload de PDF com contexto

A psicóloga anexa a ficha do paciente e a IA lê o arquivo inteiro. A conversa toda passa a ter esse contexto — sem redigitar nada. O arquivo persiste entre sessões.

💳

Sistema de assinatura completo

Dois planos (mensal e anual), tela de seleção, bloqueio automático para não-assinantes, tela de sucesso pós-pagamento e status no perfil com data de renovação.

✍️

Efeito typewriter nas respostas

As respostas da IA aparecem caractere por caractere com cursor pulsando, estilo ChatGPT — feature solicitada pelo cliente. Após a digitação, renderiza markdown completo.

🤖

Frases dinâmicas de loading

Enquanto a IA processa, exibe frases específicas por agente: "Refletindo sobre o caso...", "Buscando ideias...", "Montando a estratégia..." — com timer de duração visível.

👤

Signup com nome completo

O cadastro agora coleta o fullname e salva na tabela users. O nome é usado na interface — a IA chama a profissional pelo primeiro nome.

4 edge functions no Supabase

chat-ai (OpenAI + tokens + contexto PDF), create-subscription, payment-webhook e reset-monthly-tokens com reset automático todo dia 1.

Estabilidade do sistema

Bugs críticos corrigidos

Além das funcionalidades novas, parte significativa do trabalho foi garantir que o app não quebrasse em produção.

🛡️

Fix de RLS no Supabase

Policies de INSERT e UPDATE na tabela user_monthly_usage estavam faltando. Resultado: a contagem de créditos não era gravada. Corrigido com policies corretas por auth.uid().

⚛️

Fix do bug do React StrictMode

O app travava na tela de loading em desenvolvimento. Diagnóstico: o StrictMode do React 18 executa efeitos duas vezes em dev, causando race condition no AuthContext. Corrigido com cleanup correto no useEffect.

⏱️

Timeout resiliente no AuthContext

Queries que travavam (Supabase pausado, rede instável) bloqueavam o app indefinidamente. Implementado timeout com fallback: se a query não responder em X segundos, o app continua normalmente.

🔤

Fix do componente TypewriterText

O efeito de digitação gerava warning crítico do React: "Cannot update a component while rendering another component." Corrigido com useEffect para mover o setState para fora do ciclo de render.

Por dentro do backend

O que acontece
em cada mensagem

Toda mensagem passa por essa sequência antes de chegar à OpenAI. O bloqueio acontece no servidor — o app não controla nada disso.

1
Valida JWT do usuário
Confirma que a sessão é legítima.
2
Verifica assinatura ativa
Bloqueia com 403 se não tem plano ativo.
3
Verifica saldo de créditos
Bloqueia antes da OpenAI. Nenhum custo gerado.
4
Injeta contexto do PDF
Se houver arquivo, injeta o texto como system message.
5
Chama OpenAI + salva no banco
Salva resposta e debita os créditos usados.
// Retorno — sucesso

{
  "reply": "Olá! Posso ajudar...",
  "tokens_used": 590,
  "tokens_remaining": 79410,
  "progress": 0.00737
}

// Sem assinatura

{ "error": "subscription_required" }
// HTTP 403

// Limite atingido

{ "error": "token_limit_reached" }
// HTTP 403
Valor real medido nos logs: ~590 tokens/mensagem. Com 80k de limite, isso dá ~135 mensagens — ou cerca de 22–27 sessões completas de 5–6 trocas cada.
Em números

O produto hoje

Entregas desta fase
9+
Telas
4
Edge functions
4
Bugs críticos
14
Componentes
Capacidade por plano
Plano Mensal 80k
~135 mensagens · ~25 sessões completas
Plano Anual +25% 100k
~169 mensagens · ~31 sessões completas
Baseado em ~590 tokens/mensagem medido nos logs reais. "Sessão completa" = 5–6 trocas com a IA.
O que falta

Próximos passos

O código está pronto. O que falta são conexões externas e configurações de ambiente.

1

Integração Hotmart Urgente

Estrutura 100% pronta. Falta criar a conta no Hotmart, criar o produto, configurar as chaves de API e a URL do webhook para que a integração seja conectada.

2

Confirmar valores dos planos

Provisório no código: R$ 49,90/mês e R$ 39,90/mês no anual. É necessário confirmar os preços e os limites de créditos finais.

Roadmap v2

Sugestões para
evoluir o produto

O produto funciona bem hoje. Essas melhorias elevam a experiência quando chegar a hora.

Tabelas nas respostas da IA

UX / Renderização

Quando a IA gera comparativos, as tabelas saem como texto simples. Componentes visuais deixariam as respostas muito mais limpas.

Alerta de créditos baixos

UX / Engajamento

Avisar quando restar 20% dos créditos (~27 mensagens). Hoje o bloqueio acontece na hora que acaba, sem aviso prévio.

Exportar sessão em PDF clínico

Funcionalidade

A psicóloga termina uma conversa de planejamento e exporta para o prontuário do paciente. Diferencial de mercado relevante.

Memória entre conversas

IA / Personalização

Hoje cada chat começa do zero. Um perfil do paciente que a IA lembra automaticamente em novas sessões seria muito poderoso.

Onboarding guiado

Retenção

Mini-tutorial na primeira entrada: como usar os agentes, o upload de PDF e os créditos. Reduz abandono no primeiro acesso.

Agentes customizáveis

Escalabilidade

O administrador edita os prompts dos agentes pelo painel, sem precisar de código. Produto independente de desenvolvedor no dia a dia.
Status atual

Frontend completo.
Backend pronto.
Aguardando próximos passos
para lançamento.

Com as configurações finais de ambiente e integração de pagamento, o produto está pronto para o primeiro usuário real.

Elastre · alo@elastre.com.br · Março 2026

navegar