Bancada
Plataforma editorial da Editora BP: da prova em PDF ao comentário publicado, com IA na resolução e revisão humana no caminho
Repositório privado
Sobre o projeto
Bancada produz resoluções comentadas de questões de concurso em escala, sem abrir mão da revisão humana. O nome vem das duas pontas do processo: a banca examinadora que elaborou a prova e a bancada de trabalho onde cada questão é resolvida, comentada e revisada. A prova entra em PDF, o sistema extrai as questões e o gabarito, resolve cada uma por um pipeline de recuperação e geração, compara a resposta calculada com o gabarito oficial e encaminha o resultado para o funil editorial. O funil é o coração do produto: cada comentário passa por estados definidos e por papéis distintos, do estagiário ao professor até a aprovação final, com guardas de concorrência para dois revisores não se atropelarem na mesma questão e trilha de auditoria de cada decisão. Há ainda uma política de fontes bibliográficas por disciplina, para que o comentário se ancore no material que a editora considera confiável, e uma taxonomia que define o template estrito de comentário conforme o tipo de questão. Na saída, a plataforma publica as questões comentadas na Thinkr, banco de questões de terceiros, tanto criando novas quanto atualizando existentes, com controle de idempotência e status de sincronização. Também exporta provas comentadas em PDF, DOCX e PPTX, e oferece um painel de produção com métricas por disciplina, banca e período.
Como funciona
A importação extrai o conteúdo do PDF com PyMuPDF e OCR quando necessário, separa as questões, alinha o gabarito oficial e guarda o resultado em cache para não repetir o trabalho pesado a cada tentativa. A resolução roda como um grafo de estados em LangGraph: a questão é classificada na taxonomia, a política de fontes escolhe o material primário daquela disciplina, o pipeline recupera os trechos relevantes, o modelo redige o comentário no template do tipo de questão e o sistema confronta a alternativa calculada com o gabarito. Divergência não é escondida, é sinalizada para o revisor. O processamento pesado corre em filas Celery com Redis, fora do ciclo da requisição. Aprovado o comentário, o cliente da Thinkr faz o envio ou a atualização na plataforma de destino e registra o status de sincronização, permitindo reenvio seguro. O painel administrativo acompanha questões enviadas, comentários gerados contra aprovados e falhas de envio, com recorte por disciplina, banca e prova, e exporta o relatório em PDF.
Arquitetura
- 01
Frontend React com Vite, Radix UI e TanStack Query: revisão, banco de questões e painel
- 02
API FastAPI: provas, questões, resoluções, importação, permissões, auditoria e integração
- 03
Grafo de resolução em LangGraph: classificação, recuperação, redação e conferência de gabarito
- 04
Serviços de extração: PyMuPDF, OCR e alinhamento de gabarito com cache
- 05
Política de fontes por disciplina e taxonomia com template estrito por tipo de questão
- 06
Filas Celery com Redis para importação, resolução e envio
- 07
Cliente e mapeador da Thinkr, com idempotência e status de sincronização
- 08
MinIO para armazenamento de arquivos e imagens em produção
Funcionalidades
- Importação de prova em PDF com extração de questões e gabarito
- Resolução por grafo de recuperação e geração, com conferência contra o gabarito oficial
- Política de fontes bibliográficas por disciplina
- Taxonomia de questões com template de comentário por tipo
- Funil editorial por papéis, com guardas de concorrência e auditoria
- Publicação e atualização de questões na Thinkr, com controle de idempotência
- Exportação de provas comentadas em PDF, DOCX e PPTX
- Painel de produção com métricas por disciplina, banca e período
- Testes unitários e de ponta a ponta com integração contínua
Tecnologias
- Backend
- Python · FastAPI · Celery
- AI/ML
- LangGraph · OpenAI · Gemini · RAG
- Frontend
- React 19 · Vite · TypeScript · Radix UI
- Tools
- PyMuPDF · Playwright · Vitest
- Database
- Supabase
- Infrastructure
- Redis · MinIO · Docker