AI Job Matching
How signed-in job seekers get a Job matches page of relevant jobs from their profile and resume, and how they opt into matching emails.
A
JAI job matching shows a signed-in job seeker a Job matches page of relevant jobs from their profile and resume. The public URL is /matches, next to /saved-jobs. The heading is personalized, for example "Ada's matches".
This is the same idea candidates already know from boards like Himalayas (/jobs/matches): a personal list, not a search they have to run.
How it works
A signed-in candidate opens Job matches from their account menu. Cavuno ranks live jobs on the board from the candidate's profile — skills, roles, and the fields a resume upload fills in. Applied jobs are left out.
A signed-out visitor who lands on /matches is redirected to sign in, then returned here. After sign-up, the default copy explains that creating an account is how we match them with relevant jobs.
An empty list is a cold start, not an error. Drive a resume-upload prompt from the candidate's profile and resume status. Do not expect a hint field on the list itself.
You can edit the Job matches heading and empty copy in the website builder, the same way you edit saved jobs.
Matching emails
Signed-in candidates can also ask for a weekly email of those same ranked jobs. This is a separate opt-in from job alerts. A missing preference means they are not subscribed. Existing candidates are not enrolled when the feature ships.
They see an unchecked checkbox during first-run resume onboarding, with default copy "Email me jobs that match my profile." Later resume imports do not show that checkbox again. They can turn the same preference on or off from Settings on your board.
Each digest includes up to ten jobs. The first successful email may include current open matches. Later emails include only matches published since the last successful digest. No email is sent when there are no qualifying jobs. Every message includes a settings link and one-click unsubscribe.
On the Job alerts page, matching emails appear on the same email row as any saved-search alerts. The preference label is Job matches. Operator unsubscribe and resubscribe apply to both streams. See Manage subscribers.
Matching emails and job alerts share your plan's Email subscribers allowance. A live job-alert stream and a live matching-email stream each count as one. Waitlisted people do not count. Subscribe and toggle always succeed at the cap: the person is waitlisted instead of rejected. Confirmation happens before waitlisting. When a live stream stops, the oldest waitlisted stream is promoted. There is no "you're in" email.
This opt-in is not marketing consent. Marketing consent stays on sign-up and the marketing-permissions API.
Availability
- Plan: All paid plans. AI job matching is available on every paid plan.
- Setting: Settings, then Features, then "Job seeker profiles" (matches are part of candidate accounts; there is no separate switch).
- Setup required: None.
Limitations
- Matches require a verified candidate account. There is no anonymous matches list.
- A thin profile returns fewer or no matches. Resume parsing is the fastest way to give the ranker something to work with.
- The list does not expose scores, weights, or why a job ranked where it did.
- Matching emails use the same ranker and the shared Email subscribers allowance. They are not job alerts.
Example
For example, a candidate creates an account, uploads a resume, and opens Job matches. Roles that fit their skills and title appear first. If they skip the resume, the page stays empty and asks them to upload one.
Next steps
Enable and test Job seeker profiles, then check Saved jobs so the account menu has both destinations. Confirm matching emails from a test candidate's Settings and the Job alerts list. Custom frontends should use board.me.recommendedJobs.list and board.me.notificationPreferences — see How to show job matches.