Projeto

ControlPsi

SaaS para psicólogos centralizarem agenda, pacientes, recorrência de atendimentos e financeiro em um único fluxo.

Next.jsTypeScriptNode.jsPrismaPostgreSQLStripe

O problema

O ControlPsi nasceu de um problema bem comum na rotina clínica: agenda, pacientes e financeiro costumam ficar espalhados entre planilhas, calendário, bloco de notas e aplicativos diferentes. Na prática, isso gera retrabalho, dificulta a visão do dia e deixa a operação mais suscetível a erros.

A solução

Minha proposta com o ControlPsi foi reunir esses pontos em uma única plataforma. O psicólogo consegue cadastrar pacientes, organizar frequências de atendimento, acompanhar sessões recorrentes, registrar recebimentos e despesas da clínica e manter uma visão mais clara do que foi pago, do que ainda está pendente e do que faz parte da rotina financeira do consultório.

Mais do que juntar funcionalidades, a ideia foi criar um fluxo conectado: atendimento, paciente e financeiro conversam entre si para reduzir retrabalho e deixar o sistema mais próximo da operação real.

O projeto começou como um SaaS simples de controle, mas também como um espaço de estudo e experimentação técnica. Com o tempo, ele deixou de ser apenas um exercício e passou a se tornar um produto realmente utilizável, que hoje já atende alguns usuários e continua evoluindo a partir da experiência de uso no dia a dia.

Conceitos aplicados

Durante o desenvolvimento, aproveitei o projeto para colocar em prática vários conceitos:

  • arquitetura em camadas, com separação entre domain, application, infra e http
  • inspiração em arquitetura hexagonal, com uso de portas, repositórios, mapeadores e casos de uso
  • modelagem de domínio com entidades e value objects, como Money e Email
  • separação entre UI, lógica e estilos, com componentes reutilizáveis e vanilla-extract
  • autenticação com proteção de rotas, sessão por cookie e controle de acesso
  • integração com Stripe para assinatura e cobrança do SaaS
  • tratamento idempotente para eventos sensíveis, como sincronização de cobrança e webhooks
  • observabilidade com Sentry e sanitização de dados sensíveis
  • documentação da API com OpenAPI/Swagger
  • cobertura de testes para páginas, fluxo de API e pontos de segurança

Aprendizados

Um dos desafios mais interessantes foi garantir a consistência entre agenda e financeiro. Cada atendimento pode gerar impacto financeiro, e manter esse relacionamento atualizado exigiu cuidado com regras de negócio, status e sincronização entre os módulos.

Também foi um projeto importante para amadurecer minhas decisões de arquitetura. Aqui eu exercitei separação de responsabilidades, desenho de casos de uso, integração com serviços externos, preocupação com segurança e uma organização de código pensada para crescer sem perder legibilidade.

No portfólio, o ControlPsi representa bem a forma como eu gosto de construir produto: olhando para um problema real, desenhando uma experiência mais simples para o usuário e sustentando isso com uma base técnica organizada.

Projeto em evolução

Este projeto ainda está em evolução. Novas funcionalidades continuam sendo adicionadas com base nas necessidades percebidas na experiência dos usuários, ao mesmo tempo em que o código vem sendo refinado para ficar mais consistente, mais sustentável de manter e mais acessível para quem usa o sistema no dia a dia.

Voltar para projetos