Stephane van der Aa

The job you want is probably not advertised. So I built something that looks for it anyway.

Stephane van der Aa 1,182 words
Cover image for The job you want is probably not advertised. So I built something that looks for it anyway.

In six lines

  • Dream Job inverts the search: start from the person.
  • A CV and LinkedIn export become one profile.
  • Then it searches the market you cannot see.
  • Five years of filed accounts, reduced to two scores.
  • Privacy is a design constraint, not a checkbox.
  • A research team behind you; the decision stays yours.

Every job search tool I have ever used starts from the same place: a list of vacancies somebody else decided to publish. You type a title, you get what the boards have, and you spend your evenings reacting to it.

That is backwards. The interesting roles are often at companies that have not written the job description yet. They have the growth, the margin and the gap in the team; they just have not got round to the posting. And when the posting does appear, it lands in the same inbox as everyone else's.

Over the past months I have been building Dream Job, an application that inverts the search. It starts from who you are and what you actually want, maps the slice of the market that matters, judges which companies can afford to hire, and then takes the friction out of applying. This is what it does, and the three rules I refused to compromise on.

Start with the person, not the posting

Dream Job takes two documents you already have, the LinkedIn "Save to PDF" export and your CV, and merges them into one structured profile. It does not silently pick a winner when they disagree. My own two documents produced eighteen conflicts: my previous employer written two ways, a role with different start dates in each file. Any one of those would have reached a hiring manager unnoticed. Now they are resolved once, by me.

Then comes the part I care most about: a free-text field where you describe the job you actually want. Your words, your language. The model reads it for the nuance a drop-down cannot hold, the responsibilities you want, the kind of organisation, what you will not accept, and turns it into a structured dream-job model that you confirm before anything acts on it. Deal-breakers filter harder than preferences. From that point on, every opportunity is measured against your ideal, not just against your CV.

Search the market you cannot see

Structured directives bound the search: job content, company type and trajectory, location and commute, on-site or remote, contract type, compensation floor. The system then plans a per-source collection campaign across 29 registered adapters, from applicant-tracking feeds like Greenhouse and Workday to public employment services, company registries, newsrooms and event calendars. You review the plan, its expected volume and its cost before a single request leaves the machine.

Two things happen next that most tools never attempt.

First, for every interesting company the system pulls five years of filed accounts from the national registries and reduces them to two advisory scores: ability to pay, and capacity to invest in new activities. Cost per FTE, margins, cash runway, headcount growth. A company that cannot be scored from filings is marked as estimated and can never rank as if it had been.

Second, for companies with no matching vacancy, the model speculates about the roles they are likely to need in the next six to twelve months, given their trajectory, their department map, their competitors' hiring and your profile. Those openings are labelled as speculative on every screen and in every email. A spontaneous application never claims a vacancy exists.

The result is a ranked list where each rank is an argument, not a number: seven visible sub-scores, the dream-job criteria met and violated, the compensation estimate and its sources, and the route to a real person. Manual ordering wins over the computed one, and it survives recalculation.

Article content

Apply as yourself

For every role you shortlist, Dream Job generates four things: a CV tailored to the opportunity, a company briefing for interview preparation, a motivation document that explains why you want this job and why you fit the company, and the introduction email. The briefing and motivation are for you alone; a leak scan refuses to attach them.

Hiring contacts are found by walking a ladder of sources and validated, not guessed. Where you have a warm route, a former colleague, an alumnus, a first-degree connection, the system ranks it and drafts the message to the intermediary as well.

And then it stops. Every message waits for your approval and goes out from your own mailbox.

Three rules

Nothing is invented. Every sentence in a generated CV or email traces back to a fact in your profile. A consistency check runs before anything can be approved.

Nothing is sent automatically. There is no path through the product in which a message reaches a stranger without a human deciding it should. Scores order a list; they do not make decisions.

Nothing is hidden. Sub-scores, provenance, sample sizes, the AI call log, the token spend so far, all of it is on screen. If you disagree with a ranking you can see exactly what produced it.

Article content

Privacy was a design constraint, not a checkbox

Anyone who has read my work on neuro-rights will guess this was never going to be a "scrape everything" product.

Fields you mark as do not disclose are stripped before any prompt leaves your machine. Online enrichment about you only merges findings whose identity match is confirmed; anything doubtful is shown to you with the evidence, and a rejection is permanent. For sites that require a login, the system attaches to a browser you signed in to yourself and never holds a password. Browser-collected data lives on a short retention leash. The hiring contacts on the other side of your emails are data subjects too: every message carries an objection route, and an objection blocks the address for everyone on the installation, at the database level.

What it learns, and what it refuses to claim

Replies are classified, follow-ups are drafted, interviews can be scheduled against your calendar, and a mock interview built from the briefing is one click away. Outcomes feed back into the scoring weights.

But the learning is deliberately modest. Response rates are shown with confidence intervals and the sample size behind them, and the system will not offer redirection advice until roughly six applications have resolved. The data can show you what a mismatch costs. It does not get to overrule the dream job.

Under the hood, briefly

A React front end over a Python API, SQLite with one deliberate writer, and a small set of chokepoints: one module for every SQL statement, one for every outbound request, one for every model call. That last one is why the privacy rules above are properties of the system rather than good intentions. Around two thousand tests keep it honest.

Why this matters

Job hunting is one of the few high-stakes activities where most people still work with worse information than the other side of the table. Employers have ATS pipelines, salary benchmarks and network graphs. Candidates have a search box and a saved filter.

Dream Job is my attempt to put a research team behind the individual, without ever taking the decision out of their hands.

If you would like to know more, or you are looking for your own version of the dream job, I would be glad to hear from you.

Article content



#JobSearch #AI #Privacy #CareerDevelopment #Hiring #Recruitment #FutureOfWork