Open-source project · Local-first AI workflow
CV Match Agent
A well-structured TypeScript CLI for local-first CV-to-job matching and application asset generation.
- Role
- Independent open-source TypeScript CLI project focused on bounded AI workflow design.
- System scope
- CV parsing, candidate-profile extraction, job requirement analysis, validation, repair, and local output generation.
- Privacy boundary
- Runs locally by default with Ollama support; OpenAI mode sends only the supplied CV and job content to the OpenAI API.
Key capabilities
- Reads CVs from Markdown, plain text, and text-based PDF files, then structures them into semantic sections and a reusable candidate profile.
- Extracts job requirements and compares them against candidate experience, skills, projects, achievements, and location when available.
- Generates a match report, CV improvements, LinkedIn outreach message, cover letter, and interview-preparation notes.
- Uses schema validation, output review, repair attempts, and debug artifacts to keep AI-generated results grounded and inspectable.
- Supports both local Ollama models for privacy-sensitive analysis and configurable OpenAI models through a provider-agnostic workflow.
Local-first architecture
The tool is designed as a bounded command-line workflow rather than a hosted SaaS product. Inputs stay on the user’s machine in Ollama mode, and generated files are written locally for review.
Workflow safeguards
- Structures CV content into semantic sections and a candidate profile before comparison.
- Uses schema validation, output review, repair attempts, and debug artifacts to make AI-generated output inspectable.
- Separates provider selection from workflow logic so local Ollama and configurable OpenAI models can run through the same pipeline.
Generated outputs
- Match report for strengths, gaps, and realistic positioning.
- CV improvement notes grounded in supplied candidate and job content.
- LinkedIn outreach, cover letter, and interview-preparation notes written to local output files.
Technologies
Node.jsTypeScriptOpenAI Responses APIOllamaZodCLIText-based PDF parsingLocal context