Problema
Perfis profissionais espalham-se entre docs, LinkedIn e exports. Cada candidatura pede um ângulo diferente. Adaptar o currículo com um LLM sem fronteira inventa experiência e apaga o contexto da versão anterior.
É preciso um grafo versionado na máquina que pergunte o que falta e rejeite saída incompleta, sem prometer contratação ou aprovação automática por ATS.
Restrições
Desktop e local-first (Electron): sem conta proprietária e sem backend dono dos dados.
- IPC tipado e validado entre renderer e processo principal.
- SQLite com foreign keys, WAL, migrations com checksum, verificações de integridade e backup antes de operação destrutiva.
- Agentes (Codex, Cursor, OpenCode) entram por adaptadores isolados, não como donos do banco.
- Adaptação a candidatura não grava no perfil sem confirmação explícita.
- Acesso externo só sob ação do usuário (pesquisa de URL de empresa ou CLI de IA já configurada no computador); o produto não armazena credenciais de provedores.
Decisão
Renderer React/Vite separado do processo principal. O produto organiza o trabalho em um único grafo local:
- Perfil: experiências, formação, cursos, idiomas, projetos, links, habilidades e empresas por pessoa.
- Currículos: Markdown, versões imutáveis, restauração rastreável e panorama de evolução.
- ATS: diagnósticos estruturais e pontuação orientativa; PDF textual marcado e DOCX semântico.
- Candidaturas: empresa, vaga, currículo base, versão e estado no mesmo contexto.
- Agentes: máquina de estados para perguntas, tentativas e proposta de nova versão sob schema; só persiste com confirmação.
- Dados: importação e exportação versionada do grafo completo; compilador Markdown (unified/remark) compartilhado por preview, auditoria e export.
Fluxo canônico: perfil → currículo base → versão imutável → auditoria ATS → PDF/DOCX. O ramo de candidatura passa por agente local supervisionado antes do currículo adaptado.
Estado atual
Repositório público sob MIT, portal de documentação e releases x64 para Linux (AppImage, .deb, .rpm) e Windows (NSIS e portátil), com CI e testes Vitest e Playwright em persistência, agentes, ATS e fluxos Electron.
O export profissional usado neste site nasce desse produto e não é lido pelo site em runtime.
Limitações
Não substitui revisão humana nem promete contratação ou aprovação automática por plataformas de recrutamento. A adaptação a vagas depende de respostas confirmadas; o sistema recusa fabricar experiência.
Binários Windows desta fase não possuem assinatura de código. O projeto é autoral e sem finalidade comercial do mantenedor; a licença MIT permite reutilização nos seus termos.