// browser extension
Apply where you already are.
A job-application agent in Chrome's side panel, sitting next to the posting you are reading. It reads that page itself, tells you where you fall short of it, and fills the application form from your profile — on any site, not just the ones freehire tracks.
Free. Chrome and Chromium browsers with a side panel.
78%
profile match
// before you spend the hour
Know whether you fit, before you apply.
The panel scores the posting against your freehire profile and names both halves of the answer: the requirements your history covers, and the ones it does not. Not a model's impression of your chances — a coverage count you can read line by line and disagree with.
It works on a posting freehire has never seen, too. On a page outside the catalogue the card still scores; the actions that need a catalogue entry — saving it, running the full match analysis — are simply not shown rather than offered and then failing.
78%
19 of 25 skills covered
// you have
// they want, you don't
The JVM line is the one a screener will catch. Everything else lines up.
// autofill
It reads the form and fills it in. You send it.
The thirty-first time you type your own phone number, the application stops being about the job. The panel takes that part — and does it slowly enough that you can watch, which is the point rather than a limitation.
Maps the real form
Every question on the page, custom dropdowns that are not real select elements included, read off the live DOM and shown as a checklist. It counts the required ones, because those are what gate submission.
Answers from your profile
The values come from what your freehire profile already says. Nothing is invented to fill a box, and a question your profile cannot answer stays unanswered and visible.
Walks the form, in front of you
One question at a time, with a pause between them: the page scrolls to each field and outlines it as the value lands. The walk is the audit — you are not handed a filled form to proofread against nothing.
Stops before Submit
The panel never presses it. What goes to the employer goes because you read the form and sent it.
- ✓ Full name Alex Moreau
- ✓ Email [email protected]
- ✓ Years of experience 8
- ✓ Work authorisation EU citizen
- ✓ Notice period 1 month
- • Why this company? yours to write
It knows what is not an application.
The filler only engages on a page carrying the marks of a real application — a CV upload among them. That is what stops a newsletter box or a job-alert signup from being written into on a careers page that happens to have one.
The checklist appears on a looser test, because the screening questions on step two of an ATS form have no upload and are exactly where the count is most wanted. Nothing is ever typed on the strength of that looser test.
// the agent
Ask about the page in front of you.
You do not hand the posting over, and there is no "read this page" button to remember. Ask whether it is a fit and the agent reads the tab itself, because the question needed it.
Every read is named in the conversation as it happens, so a read you did not expect is one you can see. The address is shown without its query or fragment — that is where session tokens live, and they have no business in a transcript.
is this a fit? and what would they push back on?
⏺ read_current_page — careers.example.com
Close. They want Scala on the JVM and you have neither, which is the one gap a screener will catch. The rest lines up: distributed systems, streaming data, AWS.
⏺ read_profile — your CV
Your Kafka work is the closest thing you have to their throughput requirement. Lead with it, and say plainly that the JVM is a gap you would close.
// where it works
On the page you are on.
Applications live on arbitrary hosts, so the panel works against the tab you opened it over rather than a list of sites we recognise. The form reader works off the live DOM — which makes an unfamiliar career page the same case as a familiar vendor, not a gap.
// what it can and cannot see
Nothing is read in the background.
An extension that can see every page is worth being suspicious of. These three bounds are properties of how it is built, which is why they are worth stating rather than promising.
Only while the panel is open
The channel a page read travels over belongs to the side panel and dies with it. Close the panel and there is nothing left listening.
Web pages only, checked first
A read is refused for any tab that is not http or https, decided from the address before the page is touched — the extension is the only side that sees a URL before anything is scraped.
Yours to read and delete
A page the agent read stays in that conversation, on your freehire account. Read it on the web, delete it, and the panel quietly starts a fresh one.
Everything the extension sends goes to freehire and nowhere else. There is no analytics endpoint on the side, and no second host in the manifest.
// getting started
Add it to Chrome
One click from the Chrome Web Store. The panel lives behind the toolbar icon and opens beside whatever tab you are on.
Sign in with freehire
The panel hands you to freehire to sign in once, and works from your profile after that. Free account; no key to copy anywhere.
Open it on a posting
Any posting, on any site. The match card appears, and the agent is there to argue with about whether the job is worth the hour.
// faq
Frequently asked questions.
- Which browsers does it work in?
- Chrome, and the Chromium browsers that carry its side panel. It is a Manifest V3 extension built around `chrome.sidePanel`, so Firefox and Safari are not supported today.
- Do I need a freehire account?
- Yes. The panel signs in with your freehire account and the agent works from your profile — the match card scores against your CV, and Autofill answers from what your profile already says. Signing up is free.
- Can it read pages I have not asked it about?
- No. Nothing is read in the background: a page read happens because a question you asked needed it, it travels over a channel that exists only while the side panel is open, and it is named in the conversation when it happens. The extension also refuses any tab that is not an http or https page, decided from the address before the page is touched.
- Does it submit applications for me?
- No. It fills the form and stops. Autofill walks the questions one at a time, scrolling to each and outlining it as the answer lands, so you watch it happen rather than proofread a form that was filled in one jump. Pressing Submit is yours.
- Which application forms does it handle?
- It reads the form that is actually on the page rather than matching a list of vendors, so Greenhouse, Lever, Workday, Ashby, iCIMS, SmartRecruiters and Recruitee all work — and so does a career page nobody has heard of. Custom dropdowns that are not real select elements are driven too.
- Will it fill in a form that is not an application?
- It will not. The filler only engages on a page carrying the marks of a real application, a CV upload among them, which is what stops a newsletter box or a job-alert signup from being written into. The checklist of questions is shown on a looser test, but nothing is ever typed on the strength of it.
- Does it work on jobs that are not in the freehire catalogue?
- Yes. Open the panel on any posting and the agent reads that page and scores it against your profile. The actions that need a catalogue entry — saving the job, running the full AI match analysis — are hidden for a page freehire does not know, rather than offered and then failing.
- Where does what it reads end up?
- In the conversation, on freehire, under your account — one origin and nowhere else. You can read that conversation on the web and delete it; deleting it starts the panel on a fresh one.
- What does it cost?
- The extension is free. The agent spends AI credits, the same currency the rest of freehire runs on: every account gets a monthly grant, and contributing a company board we do not track yet earns more.
Put it beside the next posting you open.
Free, and it works on whatever page you are already on — including the ones freehire does not track.