Nicchon.
Todos os projetos
SistemaEm produção· 2026

Kharis Sistema Educacional

SaaS multi-escola pra educação básica brasileira. Arenas ao vivo estilo Kahoot, IA adaptativa via Claude e gamificação completa.

Capa do projeto Kharis Sistema Educacional

Sobre

Plataforma SaaS multi-tenant que idealizei e construí: serve professores, alunos, pedagogos, diretores e responsáveis num único sistema, com 6 perfis distintos. Em produção. Diferenciais técnicos: arenas ao vivo (alunos competem em tempo real via WebSockets), homework adaptativo gerado por IA Claude que cruza tags dos erros dos últimos 60 dias (duas janelas de 30) e classifica cada tag em improving/worsening/stable antes de injetar no prompt, e tutor socrático que explica conceitos sem dar gabarito.

Stack

  • NestJS
  • TypeORM
  • PostgreSQL
  • Next.js
  • React
  • TypeScript
  • WebSockets
  • Claude API (Anthropic)
  • Meta WhatsApp Cloud API
  • Evolution API
  • BullMQ
  • AWS S3
  • JWT
  • PWA

Decisões

  • Multi-tenancy por instituição com papéis diferentes por usuário em escolas diferentes — um professor pode ser pai noutra escola, modelado M:N entre User e Institution.
  • Arenas em tempo real via WebSocket gateway com timer server-side (não confia no cliente) e shuffle determinístico por (studentId, questionId) — anti-cola sem precisar de criptografia exótica.
  • IA Claude não-decorativa: cross-join temporal de tags injetado no prompt com classificação improving/worsening/stable — não é IA pra parecer moderno, é IA usando dado real do aluno.
  • Tutor socrático com constraint negativa explícita no prompt — adicionada DEPOIS de incidente real onde modelo vazou o gabarito sob pressão. Prompt engineering iterativo, não escrito uma vez.
  • Idempotência em 3 camadas via unique constraints: XP nunca double-count por (student, referenceId, reason), badges nunca duplicam por (student, type), questões IA personalizadas nunca duplicam por (student, homework).
  • WhatsApp em 2 provedores: Meta Cloud API oficial pra escolas com Business verificado, Evolution self-hosted como fallback pra quem não tem. Seleção por instituição, tokens armazenados criptografados AES-256-GCM com envelope versionado backward-compatible.
  • JSON puro em vez de Tools API do Claude — testaram Tools, voltaram pra JSON por previsibilidade.
  • PWA com offline em 5 telas críticas (deveres, calendário, boletim, central do aluno, arenas) — aluno em rede ruim continua estudando.

Desafios técnicos

  • Tutor socrático que vazou gabarito em produção: corrigido com constraint negativa explícita no prompt. Lição: prompt design é iterativo, exige red-teaming.
  • Sincronizar 30+ alunos numa arena ao vivo sem lag visível: auto-avanço com guard duplo contra race entre timer server-side e 'todos responderam'.
  • Fila WhatsApp resiliente: BullMQ com retry e tracking de status (sent/delivered/read/failed) por mensagem.
  • Onboarding de escola com importação de turmas/alunos: validação de CSV com erros agrupados em vez de batch-and-pray.
  • Multi-tenancy com papéis complexos: 6 perfis × N instituições resolvido em runtime via guard NestJS, não regra-em-regra-em-regra.

Galeria

Arena ao vivo — Modo TV: ranking grande pra projetar na sala. Atualização em tempo real via WebSockets.
Arena ao vivo — painel do professor: controle do quiz em tempo real, percentual de respostas por alternativa, ranking lateral.
Arena ao vivo — visão do aluno: questão, dica do professor (opcional), 4 alternativas e timer.
Editor de arena pelo professor — questões manuais ou geradas com IA via 'Gerar com IA' (Claude API).
Dever de Casa com IA adaptativa — questões fixas + questões personalizadas geradas por IA pra cada aluno baseado nos erros.
Tutor Socrático — IA explica conceitos sem revelar gabarito. Aluno pede dica, recebe pergunta socrática que leva ao raciocínio.
Gestão de deveres pelo professor — ativos, rascunhos e encerrados. Métrica de entrega e personalização IA por dever.
Relatório Pedagógico IA — diagnóstico narrativo da turma com pontos fortes, alerta e recomendações pedagógicas.
Central do Aluno (visão pedagogo) — temas que domina vs precisam de reforço, anotações pedagógicas, frequência.
Painel do Diretor — KPIs estratégicos da escola: alunos, média geral, engajamento, conclusão, top turmas.
Home do aluno — gamificação: XP, sequência de dias, conquistas, deveres pendentes e arenas recentes.
Calendário do Responsável — pais e mães acompanham provas e deveres do filho, exportação .ics pra Google Calendar.
Resumo Analítico do Professor — distribuição de desempenho por turma, alunos prioritários e top alunos.
Boletim do aluno — média geral, posição na turma, evolução por bimestre e desempenho por disciplina.
Onboarding via convite tokenizado — responsável recebe link, vincula filho à turma sem precisar criar conta antes.
Tela de login com JWT em cookies httpOnly. Suporta múltiplas instituições por usuário.