Provenfit
A free, open-source job search assistant that runs on your own machine. It ranks postings against your resume, shows the line from your resume behind every requirement it says you meet, and writes a tailored resume and cover letter only when you ask.
Since Oct 2026
Provenfit is a job search assistant that shows its work. It reads your resume into facts, finds postings, and tells you which ones you fit. For every requirement it says you meet, it shows the line from your resume behind it. It’s free, MIT-licensed, and runs on your own machine.

From resume to facts
You upload a resume and any notes about yourself. Provenfit reads them into separate facts: jobs, skills, the roles you want, where you can work. You can check each one and correct it. Everything after this step works from those facts, not from the original file.

Ranking and review
A search pulls postings from public job boards and from company job boards. Provenfit drops the ones you can’t take, ranks every one that’s left, and reviews the best of them requirement by requirement. Each requirement you meet comes with the fact that proves it. Any posting below the cut has a Review button.
Writing, only when asked
Nothing gets written until you press Write on a match. Then it drafts a resume and a cover letter for that job. Every claim in them is checked against your facts, and anything the facts don’t back up is flagged before you send it. You also get an ATS keyword score for the posting.

How it’s built
- Next.js 16 with React 19 and TypeScript.
- Postgres with pgvector holds everything. Retrieval is hybrid: vector search and BM25, merged with rank fusion.
- Embeddings run locally with a nomic model. Model calls go through the AI SDK, with your own key for Anthropic, OpenAI, Gemini, or any OpenAI-compatible endpoint.
- A search, an upload, or a written application runs as a background task kept in Postgres. It keeps going if you leave the page, shows live progress, and can be cancelled.
- A separate worker crawls company boards and runs the daily search.
- Prompt caching and stored verdicts keep model costs down. A posting reviewed once isn’t paid for again until your details change.
- Lightpanda, optionally, reads job links that only render with JavaScript.
- Docker Compose starts the app, the worker, and the database together.

Status
In active development. The code goes public soon; until then, the site has the guide.
Built with Next.js 16, React 19, TypeScript, PostgreSQL, pgvector, AI SDK, nomic embeddings, Lightpanda, Docker Compose.