‹ all projects
Personal project · 2026

jobtool — an AI-assisted Swiss job search, built end to end

A local-first tool that aggregates job postings, scores them against my own profile, and turns the gap analysis into what I actually need: which skills to learn next and which roles are worth pursuing. A supervised browser extension handles the applications themselves.

automationnlpproductbrowser-extension
jobtool — an AI-assisted Swiss job search, built end to end

Problem

Job hunting in Switzerland means checking a dozen boards and as many company career pages by hand, most postings carry no fit signal beyond a title, and every application wants a slightly different CV and the same facts re-typed into a new form. I was burning hours on the parts that aren’t the actual thinking — finding roles, judging fit, retyping myself — instead of on the two questions that actually mattered: what should I be learning, and which of these roles are actually worth my time.

Approach

I built jobtool as four pieces that hand off to each other:

How the pieces fit together

Here’s what a single role looks like once jobtool is done with it — the whole model on one screen: the match score broken into strong / weak / missing skills against the posting’s own text, ATS coverage, a suggested CV variant, and a one-keystroke decision.

A role opened in jobtool — the match score decomposed into strong, weak and missing skills, ATS coverage, a suggested CV variant, and the decision buttons

Launch the full demo

The real interface, running in your browser — triage roles, browse by company, open any role's skill breakdown. Sample data; every company name is fictional; no server.

ApplyPilot — the last mile, supervised

The part I’m proudest of is the browser extension: a decision-tree-driven autofill that runs on the real application form, one step at a time. You watch every step in a side panel as it fills a field, ticks a box, uploads a CV — and it always pauses before the final Submit for a human decision. Nothing goes out the door without me looking at it first.

The flow is data, not code — every form step is an explicit, inspectable node, and checks branch on the page’s real state (cookie banner? posting expired? city autocomplete resolved?):

ApplyPilot's decision-tree editor — every form step is an explicit, inspectable node

Launch the ApplyPilot demo

A click-through of one ATS recipe — synthetic company and applicant data, runs entirely in your browser. The real extension drives live application forms the same way.

Notes on scope

Two things I was deliberate about, worth saying out loud:

Result

Still in daily use, so this is a running read, not a final number: 1,900+ roles sourced and deduped, every one scored and triaged. What matters most to me isn’t the applications — it’s the diagnostic: which skills keep showing up as gaps across real postings, now steering what I study next, and a ranked shortlist instead of a flat pile of listings to sort through by hand.

next project: WeSherpa — concept to MVP as PM + lead dev →