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.