jobfishing
Open the app →
Product Guide

How jobfishing works, piece by piece

From your first sign-up to a tailored cover letter: how onboarding, matching and tracking work, and how your own AI agent writes your CV and cover letters.

DEMO · 2 MIN The whole product, end to end

1. Onboarding

From sign-up to your first ranked match.

1

Choose your markets

Pick every market you want jobfishing to search — you can select more than one. One heads-up: once you confirm, it's locked — this isn't something you can change yourself in Settings afterward. If you ever need to change it, just email us and we'll update it on our end.

Choose your markets: Switzerland, Luxembourg, Germany, Netherlands
Choose your markets
2

Choose your target job titles

Pick at least one — this decides which jobs we even pull in for you. You can change this anytime later in Settings.

Choose which job areas you're looking at
Choose which job areas you're looking at
3

Add your experience

Upload a résumé to fill most of it in automatically, or fill in the fields by hand — it doesn't need to be perfect, and you don't need to fill in every experience to get started.

You can always come back and edit your experience later — but editing it does not re-score jobs you've already been matched against. Your current matches (the most recent 15 days) were scored against your profile as it was at the time. Once you change anything, only new jobs going forward will be matched using your updated experience and settings.

Privacy

We promise your personal information is never disclosed and never used for analytics or marketing. If you delete your account, everything tied to it is deleted immediately.

Complete your profile: upload a résumé or fill in skills and experience by hand
Upload a résumé, or fill in your experience by hand — it doesn't have to be perfect
4

Edit your experience anytime

Your material — job type, work authorization, and background — lives in one place, and it feeds every résumé, cover letter, and match score going forward.

Experience page: job type, work authorization, and basic info, all editable
Everything about you lives on one Experience page — edit any of it, anytime
5

Set your work authorization

Please fill this in honestly. It's only used as a label to help you prioritize — you will never miss a job because of your visa or work-authorization status. We never hide jobs over this; it just moves roles you're not currently eligible for lower in your list.

Work authorization options, including EU/Swiss citizen, work permit, and student visa
Work authorization — used to prioritize, never to hide a job from you
6

You're ready

Your first batch of scored matches is waiting for you — organized, ranked, and ready to review.

Matching starts as soon as your settings save successfully — jobs show up gradually, so refresh to see more. There's no notification for this, since new jobs can appear at any time.

Job list with a scored match open, showing the full requirement-by-requirement breakdown
Your job list, ready to go

2. Matching & Display Logic

How jobs get found, how they get scored, and how you work with the list day to day.

Your job list

Five tabs split the same underlying list by time and by what you've done with each job.

Job list with tabs: Jobs list, New jobs, Preparing, Dismissed, All jobs
Jobs list — grouped into Best matches, Good matches, and Partial matches
New jobs tab
New jobs

New jobs — everything discovered in the last 24 hours.

Preparing tab
Preparing

Preparing — jobs you've saved, or generated a résumé for.

Dismissed tab
Dismissed

Dismissed — jobs you chose to hide.

All jobs tab
All jobs

All jobs — every job in our database matching your job titles over the last 15 days, regardless of score.

Jobs list, the default tab, holds everything matched for you within the most recent 15 days.

Score groups

Within your job list, matches are split into three groups:

Best matches, Good matches, and Partial matches groups
Best matches, Good matches, Partial matches
  • Best matches — closest to the job-search intent you set.
  • Good matches — the AI thinks you're a fit, but it may not be your first-choice intent.
  • Partial matches — the posting has a hard requirement, like a language or a visa/work-authorization type, that you don't currently have.
A job screened out by a work-authorization requirement
A Partial match — screened out by a hard requirement, shown so you still see it, not hidden

How scoring works

Your settings and experience are compared against the job description item by item. Each item carries its own weight, and the weighted total becomes your score.

Detailed match score breakdown, requirement by requirement
Every requirement, scored and explained on its own
Note

Soft skills are assumed present by default, so you may see jobs that look overqualified for you. Just dismiss those directly — we'd rather show you too much than make you miss a job.

Filter by time

Narrow any tab down to a time window — today, the last 3, 7, or 15 days, or any time.

Filter jobs by time: today, last 3 days, last 7 days, last 15 days, any time
Filter by time

3. Track

We want you to track every job on one platform.

In Settings, you can upload up to two résumés to apply in different directions. You can easily update any application's status — Matched, Applied, Interviewed, Offer, or Rejected — and see it reflected in your funnel right away.

Application tracker funnel and Add application button
Your application funnel — matched, applied, interviewed, offer

Add from another source

Applied somewhere you found outside jobfishing? Add it here to track it alongside everything else — only the link is required.

Add an application from another source with just the link required
Applied elsewhere? Record it here too

4. CV & Cover Letter

Your own AI agent (Claude Code or Codex) writes your tailored CV and cover letters, using the open-source jobfishing skills and your jobfishing profile. They are built from the same job and the same experience that produced your match.

  • Tailor a CV. Tell your agent: Use $jobfishing-tailor for the Acme data engineer job. It needs LaTeX once; the agent walks you through it.
  • Write a cover letter. Use $jobfishing-cover-letter-fast for the Acme job. It comes as a Word file and needs nothing else.
  • Apply and keep track. Use $jobfishing-apply to go through my Saved jobs. It works in your own, visible Chrome and updates your application statuses.

One-line install, no account needed to start: Use it with your AI agent → · Source on GitHub (MIT)

5. Daily Update

Today, coverage spans Switzerland and Luxembourg nationwide, plus five metro areas in Germany and the Netherlands: Frankfurt, Munich, Stuttgart, Amsterdam and Rotterdam.

  • A full scan of every market runs once a day, and Swiss jobs are refreshed every few hours on top of that.
  • New jobs are scored automatically as soon as they are collected, so your matches stay current.
  • You get one digest push a day so you don't have to keep checking.

Don't see your job title?

Add it under "Other roles you'd like to apply for." It immediately helps highlight matches in your current list, and we review these by hand — if it's added as a new search target, it's typically live by the next day at the latest.

Other roles you'd like to apply for, free-text field
Add roles we don't cover yet — reviewed by hand, usually live within a day

FAQ

Can't find your answer? Email [email protected].

How exactly is my match score calculated?
Every requirement on the posting is scored on its own against your profile, then combined into one weighted number. See Matching & Display Logic →
How often are jobs updated?
A full scan of every market runs once a day and Swiss jobs are refreshed every few hours on top of that. New jobs are scored as soon as they arrive, with one digest push daily. See Daily Update →
Is jobfishing really free?
Yes. It is completely free, no card required, and every job is scored against your CV and profile. See Pricing →