Pular para o conteúdo
VSValter Silva
Voltar para projetos
MVP funcionalProjeto acadêmico2026

Jurimetria IA

Trabalho de conclusão de curso: sistema para acompanhar processos judiciais que usa IA para extrair um resumo estruturado de sentenças e acórdãos e alimentar um painel de jurimetria.

Problema

Escritórios e departamentos jurídicos precisam acompanhar processos e entender resultados históricos por tribunal, comarca, vara, julgador e tipo de pedido — informação que está no texto das decisões.

Solução

Cadastro de processos, partes e pedidos; envio do texto da decisão para análise por IA com saída estruturada; e um painel de jurimetria calculado pelo banco de dados. Princípio central: a IA lê um documento por vez e nunca calcula estatística.

Arquitetura

  • Frontend React + Vite → API Node.js/Express → PostgreSQL. A chave da IA existe apenas no backend.
  • Backend em camadas (routes → controllers → services → repositories) e uma camada de IA isolada, o que permitiu trocar de provedor sem tocar em controllers e services.
  • Análise assíncrona: o registro é criado como Pendente antes da chamada externa, a API responde 202 e o frontend acompanha o status por polling.
  • Structured Outputs com schema Zod, validado novamente no backend antes de persistir.

Principais funcionalidades

  • CRUD de processos, partes, pedidos, sentenças e acórdãos, além de catálogos auxiliares (tribunais, comarcas, varas, julgadores).
  • Upload de decisões em PDF e DOCX com extração de texto.
  • Anonimização (LGPD) de CPF, CNPJ, e-mail, telefone, CEP, RG e dados bancários antes de qualquer envio à IA.
  • Painel de jurimetria por julgador, por pedido e por tribunal.

Desafios técnicos

  • Nenhuma decisão fica sem análise registrada: se a chamada à IA falha, o status vira Erro com log e o usuário pode tentar de novo.
  • Separar leitura semântica (IA) de agregação (SQL), para que os números sejam sempre estatística descritiva e auditável.
  • Testes automatizados com node:test que não chamam a API real nem exigem um banco rodando.