Voltar aos projetos
Tela inicial do projeto TalentFlow

Fullstack · Recrutamento

TalentFlow

Cadastro de vagas com triagem automática de currículos. Cada candidatura recebe um score de aderência de 0 a 100 e a fila do recrutador chega ordenada, mostrando o que bateu e o que faltou em cada perfil.

Stack

Django 6Tailwind v4EChartsJavaScript puroPostgreSQLCeleryRedisWhiteNoiseDockerNginxGitHub Actions

Telas

Clique em uma tela para ampliar e ler o conteúdo.

Home com os dois lados abertos: o do recrutador e o do candidato
Busca de vagas com filtros por senioridade, modalidade e localidade
Detalhe da vaga com habilidades obrigatórias e desejáveis
Candidatura em formulário curto, com currículo em PDF opcional
Retorno imediato ao candidato, com o detalhamento do score
Painel do recrutador com KPIs e gráficos ECharts
Fila de triagem ordenada por aderência, com as lacunas de cada candidato
Avaliação da candidatura: perfil, critérios e pipeline
Banco de talentos consultável pelo recrutador
Painel do candidato acompanhando as próprias inscrições

O problema

  • Triagem de currículo é feita a olho: o recrutador abre dezenas de PDFs só para descobrir quem tem o básico que a vaga exige.
  • O candidato envia a inscrição e fica no escuro — não sabe se o perfil bate com o que foi pedido nem o que faltou.
  • Quando existe alguma nota automática, ela é caixa-preta: ninguém explica por que um perfil ficou na frente do outro, e aí a nota não sustenta decisão.

O que eu construí

  • Score de aderência de 0 a 100 a partir de cinco critérios de peso fixo — habilidades obrigatórias (55), desejáveis (15), senioridade (15), experiência (10) e localidade/modalidade (5) — todos exibidos na interface.
  • Trava de coerência: sem nenhuma habilidade obrigatória atendida, o score não passa de 39. Ninguém é classificado como aderente sem o básico da vaga.
  • Retorno imediato ao candidato no momento da inscrição, com o detalhamento do que pontuou e a lista de lacunas.
  • Fila do recrutador ordenada por aderência, com pipeline, observações por candidatura e banco de talentos consultável.
  • A regra de score vive em `services.py`, fora das views, e é o módulo com mais testes do projeto — mexer no peso de um critério não quebra o resto às escondidas.
  • Painel com KPIs e gráficos ECharts alimentados por dados renderizados no próprio template: sem SPA e sem API REST no meio do caminho.