Documentação
Como o CyberLens funciona, quais tecnologias utiliza e como contribuir com o projeto.
Como Funciona
Pipeline de Análise
Upload do PDF
O usuário envia seu currículo em formato PDF.
Extração de Texto
O texto é extraído diretamente no navegador.
Pré-processamento NLP
Palavras-chave e seções são identificadas via TF-IDF.
Análise com IA
O texto otimizado é enviado ao provedor de IA escolhido.
Resultado
Um relatório completo com score, gaps e plano de estudos.
Extração de texto
O PDF é processado inteiramente no seu navegador usando pdfjs-dist. A extração detecta automaticamente layouts multi-coluna e reordena o texto em ordem natural de leitura, evitando que currículos em duas colunas fiquem embaralhados. Em seguida, o texto passa por uma normalização que unifica bullets, corrige hifenização de fim de linha e remove caracteres invisíveis. Quando o PDF é escaneado, o sistema ativa o OCR via Tesseract.js e informa a confiança média por página. Você pode revisar e corrigir o texto extraído antes de analisar. Tudo fica no seu navegador.
Pré-processamento NLP
Antes de enviar o texto para a IA, o sistema aplica TF-IDF para extrair os termos mais relevantes do currículo e da vaga. Isso reduz o número de tokens enviados, diminuindo o custo da análise e melhorando a precisão dos resultados. Os resultados dessa pré-análise são exibidos ao usuário como um "Raio-X de Compatibilidade" instantâneo antes de chamar a IA.
Análise com IA
O texto otimizado é enviado ao provedor de IA escolhido (OpenAI, Anthropic ou Google) via proxy CORS do Next.js. A IA retorna um relatório estruturado com score de aderência, habilidades, lacunas, palavras-chave e plano de estudos. Para cada lacuna identificada, a IA também sugere como reescrever trechos do currículo para incorporar os termos faltantes. Cada sugestão tem botão de cópia com feedback visual para você aplicar no seu currículo em um clique. O usuário pode opcionalmente salvar cada análise num histórico local (até 10 entradas) ativando o toggle em Configurações. O histórico fica inteiramente no navegador.
Quer ver tudo isso em ação? A rota /demo mostra três análises completas pré-geradas (analista de dados, segurança e dev full stack) sem precisar de cadastro ou API key.
Tecnologias
Frontend
Next.js
Framework React com SSR e API Routes
React
Biblioteca de UI com Server Components
TypeScript
Tipagem estática para segurança em tempo de compilação
Tailwind CSS
Estilização utility-first com design responsivo
Lucide React
Ícones SVG leves e tree-shakeable
PDF / OCR
pdfjs-dist
Extração de texto de PDFs digitais no navegador
Tesseract.js
OCR para PDFs escaneados ou baseados em imagem
@react-pdf/renderer
Geração de PDFs vetoriais para exportação
Inteligência Artificial
OpenAI (GPT)
Análise de currículo via modelos GPT
Anthropic (Claude)
Análise via modelos Claude
Google (Gemini)
Análise via modelos Gemini
TF-IDF (natural)
Redução de tokens antes do envio à IA
Infraestrutura
Vercel
Deploy automático com edge network global
Zod
Validação de schemas em runtime
API Routes
Proxy CORS para comunicação segura com provedores de IA
Para Desenvolvedores
Estrutura do Projeto
src/
app/
api/ # API Routes (proxy CORS)
configuracoes/ # Página de configurações
documentacao/ # Esta página
privacidade/ # Política de privacidade
sobre/ # Sobre o projeto
termos/ # Termos de uso
layout.tsx # Layout raiz
page.tsx # Página principal (análise)
components/ # Componentes React reutilizáveis
constants/ # Constantes e configurações
hooks/ # Custom hooks
lib/ # Lógica de negócio (IA, PDF, NLP)
types/ # Definições de tipos TypeScriptComo adicionar um novo provedor de IA
Convenção de commits
feat:Nova funcionalidadefix:Correção de bugdocs:Alteração em documentaçãostyle:Formatação (sem mudança de lógica)refactor:Refatoração de códigotest:Adição ou alteração de testeschore:Tarefas auxiliares (build, CI, deps)Para o guia completo de contribuição, consulte o CONTRIBUTING.md.
Esta documentação é atualizada junto com o código-fonte do projeto.