Free and open sourceRuns on your computermacOS, Windows, Linux
A job search agent that shows its work.
OpenApplyr finds openings on company career sites, prepares a tailored resume, cover letter and form answers for each one, and applies once you approve. It follows up by email and keeps track of every reply. It runs on your own computer, with the AI model you choose.
AGPL-3.0. No account, no server, no telemetry.
Demo
See it in 24 seconds.
A real recording of the app in its sample workspace: find a job, check what it prepared, approve it, and see the replies tracked.
How it works
Seven steps, the same for every job.
You set up a hunt once: the titles you want, where, and how much to automate. After that, each job moves through the same steps, and you can open any of them to see what happened.
Find the openings, not the noise
It checks company career boards on Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee and Workable, and ten job APIs, several times a day. Any other posting can be added as a link or pasted text.
- The same job found in several places shows up once
- Likely scams, reposted ghost jobs, stale listings and bans on AI-assisted applications are flagged
- Each hunt shows how many jobs in your database pass its filters as you edit them

A score you can take apart
Location, salary, visa, level and your dealbreakers are checked in code, and every job that fails says which rule it failed. For the rest, the model judges each requirement against your profile, and the score is computed from those judgments.
- Each requirement is marked met, partly met or missing, with the fact that supports it
- Nice-to-haves count for less than requirements
- Scoring prompts leave out your name and contact details

A resume written for this job, from your real experience
For each job above your bar it writes a tailored resume, a cover letter in your voice and an answer for every question on the form. Every resume line has to trace back to a fact in your profile.
- Eight templates, exported as PDF, Word or plain text
- Check the PDF shows what an applicant tracking system reads back
- US Letter or A4 depending on where you live

You approve the exact application
Nothing is sent until you approve it in the Queue. Each package shows its documents, every form answer with where it came from, and the checks it has to pass before it could go without review.
- Approve with A, skip with S, or let it fill the form and submit it yourself
- Edit any answer and save it for next time
- Autopilot is off until you turn it on for a hunt

Filled in your own browser, at a person's pace
It opens the form in your installed Chrome or Edge and fills it field by field. Your first three applications stop just before the submit button, so you can see exactly what it would send before trusting it with more.
- Logins, CAPTCHAs and unknown questions pause the run and come to you
- Daily limits, active hours, and gaps between applications
- If the posting has closed, it does not try

Replies update your applications
It reads your job email and moves applications to screening, interviewing, offer or rejected, and records interview invites. It finds the recruiter or hiring manager and drafts a short note, sent from your own address after you approve it.
- Follow-ups stop as soon as someone replies
- At most two people per application, and nobody twice in 30 days
- Every note has a line for opting out, and opt-outs are kept

Ready for the conversation
For each interview it prepares a brief on the company from the posting and the company's own pages, likely questions, and the stories from your experience that answer them. You can rehearse in a mock interview and compare offers side by side.
- Stories are drafted from your profile and edited by you
- Offer comparison with negotiation drafts
- Nothing runs during a live interview

Checks
Everything it does, you can check.
An agent that sends applications in your name has to be held to rules, not good intentions. These are enforced in code.
It can only use what is true about you
Every line of a tailored resume has to cite a fact from your profile. A number, tool, employer or date that is not there blocks the document. A second model then reads it again for claims the first check could not catch.
Cut settlement batch time from 4 hours to 35 minutes by moving jobs to event-driven workers in Go
Cites your Northwind Payments role
Led a team of 5 engineers through a PostgreSQL 16 upgrade with zero downtime
Cites your Northwind Payments role
Raised payment conversion by 12% with a redesigned retry flow
The number 12% is not in the cited fact.
You approve exact answers, not a promise
For Greenhouse and Recruitee postings, and any form it has filled before, the questions are read before a browser opens. Each answer says where it came from. Legal and demographic questions are only ever answered from the facts you entered, never generated.
- Are you legally authorized to work in Portugal?
- YesFrom your profile
- Will you now or in the future require sponsorship?
- NoFrom your profile
- What is your notice period?
- 30 daysSaved answer
- Why do you want to work at Harborline Freight?
- Your routing work on…Written from your profile
Every application leaves a receipt
Screenshots before and after submitting, each field it filled, the exact files it uploaded and the confirmation page are saved with the application. When no confirmation appears, it is marked as sent without confirmation, not as applied.
- before-submit.jpgForm as filled
- after-submit.jpgConfirmation page
- fields.json14 fields and their values
- Maya_Okafor_Resume.pdfThe file uploaded
Applied, confirmation seen: “Thank you for applying.”
Privacy
It runs on your computer.
There is no OpenApplyr account or server. Your profile, documents, applications and email snippets are one database file and a folder on your disk. This is everything that leaves it:
- The AI provider you chose
- The text each task needs. Scoring prompts leave out your name and contact details.
- Job boards and job APIs
- Requests for their public postings.
- Application forms
- What you approved, typed into your own browser.
- Your mail server
- Reading job-related messages, and sending the notes you approved.
- Hunter, Apollo, Snov, Prospeo
- Lookups of people at a company, only if you add a key.
API keys and passwords are encrypted with AES-256-GCM, and the key is held by your system keychain. Settings can export everything or delete everything.
Limits
What it will not do.
Some features other tools sell were left out on purpose, because they cost the person using them more than they give.
- Solve CAPTCHAs or disguise itself. No fingerprint spoofing or stealth tricks. When a site asks for a check, you do it.
- Invent experience. No skill, number or employer you do not have.
- Send without your approval. Unless you turn on autopilot for a hunt, and then only when every check passes.
- Track whether people open your emails. No tracking pixels. Replies are what count.
- Answer for you during a live interview. It helps you prepare before and take notes after.
- Flood employers. By default, 15 applications a day per hunt, 40 in total, and two per company a month.
Models
Use the model you already pay for.
Add a key from any of these providers, or run a model on your own computer. Give a cheaper model the reading and scoring, and a stronger one the writing. Every call is recorded with its cost, and a daily and monthly budget stops model calls when reached.
- Anthropic
- OpenAI
- Google Gemini
- Vertex AI
- Azure OpenAI
- Amazon Bedrock
- Mistral
- Cohere
- Groq
- DeepSeek
- xAI
- OpenRouter
- Together
- Fireworks
- Cerebras
- Perplexity
- Ollama
- LM Studio
- Any OpenAI-compatible or Anthropic-compatible endpoint
Questions
Before you install it.
Is it free?
Yes. OpenApplyr is open source under the AGPL-3.0. You pay your AI provider for what you use, or nothing if you run a model on your own computer through Ollama or LM Studio. Settings shows the cost of every task and stops at the budget you set.
Can it apply on LinkedIn or Indeed?
Not yet. It applies on company career sites (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee) and fills other forms with a general form reader. You can paste a LinkedIn or Indeed posting to score it, prepare documents and track it.
What happens when a form asks something it does not know?
The run pauses and the question appears on Today. Answer it there and the run carries on, and the answer is saved for the next form that asks. If you are away, it stops after 15 minutes and picks up again when you answer.
Will a company know software filled in the form?
It fills the same form you would, in a normal browser, at a person's pace, with documents built from your real experience. It does not try to hide that it is software. Some sites' terms forbid automated applications; check the ones you use.
How many applications will it send?
As many as you approve. The defaults favor fewer, better applications: 15 a day per hunt, 40 in total, at most two to one company in 30 days, spaced 20 to 90 seconds apart, within the hours you set. All of these can be changed.
What do I need to run it?
macOS, Windows or Linux, Google Chrome or Microsoft Edge for filling in forms, and an API key from one of the providers above or a local model. Email is optional.
Install
Download OpenApplyr.
Free for macOS, Windows and Linux. It also needs Google Chrome or Microsoft Edge, which it uses to fill in application forms.
The installers are not code-signed yet, so your system asks you to confirm the first time you open the app. On macOS, open System Settings, Privacy and Security, and choose Open Anyway. On Windows, choose More info, then Run anyway. All releases
To run it from source instead, you need Node.js 22.13 or later:
git clone https://github.com/shivashis-adhikari/openapplyr.git
cd openapplyr
npm ci
npm run dev
On the first screen, choose Explore a sample workspace first to try every screen with fictional companies, a fictional candidate and an offline stand-in model. Nothing in it is sent anywhere.