Own product, desktop

md2cv

Profile and immutable versions stay in the machine's SQLite. The supervised agent only proposes changes under schema; ATS and PDF/DOCX export reuse the same graph, with no SaaS backend owning the data.

Repository

Grafo local e agente supervisionado
Grafo local e agente supervisionado Perfil e currículos no SQLite local; versões imutáveis; candidatura no mesmo contexto; agente supervisionado propõe sob schema e só grava com confirmação; auditoria ATS e export PDF/DOCX. Sem backend SaaS como dono dos dados. Grafo do perfil SQLite · WAL · máquina local Versões imutáveis Markdown · restauração Candidatura vaga · versão Agente supervisionado confirma antes de gravar ATS PDF / DOCX sem SaaS dono

Perfil e versões no SQLite; candidatura no mesmo contexto; agente só propõe sob schema; ATS e export reutilizam o grafo sem SaaS dono.

Problem

Professional profiles scatter across docs, LinkedIn, and exports. Each application asks for a different angle. Adapting a resume with an unbounded LLM invents experience and erases the context of the previous version.

What is needed is a versioned graph on the machine that asks what is missing and rejects incomplete output, without promising hiring or automatic ATS approval.

Constraints

Desktop and local-first (Electron): no proprietary account and no backend owning the data.

  • Typed and validated IPC between renderer and main process.
  • SQLite with foreign keys, WAL, checksummed migrations, integrity checks, and backup before destructive operations.
  • Agents (Codex, Cursor, OpenCode) enter through isolated adapters, not as database owners.
  • Job matching never writes to the profile without explicit confirmation.
  • External access only on user action (company URL lookup or an AI CLI already configured on the computer); the product does not store provider credentials.

Decision

React/Vite renderer separated from the main process. The product organizes work in a single local graph:

  • Profile: experiences, education, courses, languages, projects, links, skills, and companies per person.
  • Resumes: Markdown, immutable versions, traceable restore, and evolution overview.
  • ATS: structural diagnostics and guiding scores; marked textual PDF and semantic DOCX.
  • Applications: company, job post, base resume, version, and state in the same context.
  • Agents: state machine for questions, attempts, and proposed new versions under schema; persists only on confirmation.
  • Data: versioned import and export of the full graph; Markdown compiler (unified/remark) shared by preview, audit, and export.

Canonical flow: profile → base resume → immutable version → ATS audit → PDF/DOCX. The application branch goes through a supervised local agent before the adapted resume.

Current state

Public repository under MIT, documentation portal, and x64 releases for Linux (AppImage, .deb, .rpm) and Windows (NSIS and portable), with CI and Vitest and Playwright tests on persistence, agents, ATS, and Electron flows.

The professional export used on this site comes from this product and is not read by the site at runtime.

Limitations

It does not replace human review nor promise hiring or automatic approval by recruiting platforms. Job matching depends on confirmed answers; the system refuses to fabricate experience.

Windows binaries in this phase are not code-signed. The project is author-owned with no commercial purpose from the maintainer; the MIT license allows reuse under its terms.