Repository navigation
Your part
This page: what you need before you start, the setup steps in order (most are Claude's; a few are yours), and how to pause, stop or take access back.
| You need | Why | Cost |
|---|---|---|
| A GitHub account | Your copy of job-radar and your board live there | free |
| A Claude Pro or Max plan, with Claude Code installed (the free Claude plan doesn't include Claude Code) | Claude operates everything. No separate API account or key | your plan |
git, Python 3.13 and GitHub's gh tool on your computer |
Claude uses them to run job-radar for you | free |
| Optional: Chrome with the Claude in Chrome extension | Only if you want Claude to pre-fill application forms | free |
| Optional: a Gmail account for job-alert emails | Only if you want LinkedIn/Indeed/Glassdoor jobs included | free |
Installing them (works on Windows, macOS and Linux; on Windows use PowerShell or Windows Terminal). After each install, open a new terminal window and run the check command; it should print a version number, not an error:
| Tool | Get it from | Check it worked |
|---|---|---|
| Claude Code | Anthropic's Claude Code docs (search "Claude Code quickstart") | claude --version |
| git | git-scm.com | git --version |
| Python 3.13 (job-radar's code and the daily run use it) | python.org (on Windows tick "Add python.exe to PATH") | python --version |
GitHub's gh tool |
cli.github.com, then log in once: gh auth login and follow the prompts |
gh auth status |
Stuck on any of these? Once Claude Code runs, say "check my setup" and Claude tells you what's missing and walks you through it.
GitHub's free plan includes 2,000 minutes a month of automated runs for private projects; job-radar uses roughly 450–750 a month (15–25 minutes a day across its three daily runs). If you ever pass the 2,000, GitHub stops the runs until the next month. It only charges you if you have raised your Actions spending limit above its default of $0, so with the default nothing is billed; the radar simply pauses.
-
Make your private copy. job-radar's public project holds only code. Your search must live in a private copy that only you can see. Make an empty folder (for example
job-radarin Documents), open a terminal in it (on Windows: right-click inside the folder, then Open in Terminal), typeclaudeand press Enter (the first time, Claude Code asks you to sign in with your Claude account: do that, then carry on). Then say: "Make me a private copy of https://github.com/vizkov/job-radar called my-job-radar." Claude creates the private repository on your GitHub account and copies the code into it; there's nothing for you to type. (vizkov/job-radaris the author's public template: it holds only code, never anyone's data.) Claude Code asks your permission before it runs commands or writes files; read what it proposes, and approve the ones for creating your repository and copying the project. Don't use GitHub's "Fork" button: a fork of a public project can't be made private. -
Open Claude Code in your copy and say "set this up for me". (Claude tells you which folder your copy is in; in the terminal run
cdinto it, thenclaudeagain.) Claude does the work and pauses when it needs you:- Your CV and preferences. Paste or attach your CV; say which countries, job titles and companies you want. Claude converts your CV into its own format and shows you the result to confirm nothing changed.
-
Let Claude manage your board. Claude asks you to type
! gh auth refresh -s projectinto Claude Code (the only command you type in the whole setup). The!at the start tells Claude Code to run it as a command; it opens your browser to a GitHub page asking you to approve the project permission, where you click Authorize.ghis GitHub's official command-line tool, already logged in as you (that's how Claude saves to your repository). This adds the project permission: reading and changing the GitHub Projects boards you have access to, including organisation boards you can edit. It gives no access to anything outside GitHub, and the login stays on your computer. To take it back later: GitHub → Settings → Applications → Authorized OAuth Apps → GitHub CLI → Revoke (this logsghout entirely; log in again withgh auth loginif you still need it). -
One board setting. After Claude creates your board, open it → ⋯ →
Workflows → Auto-add to project, set the filter to
is:issue label:role, and turn it on. This is what puts each new job on the board; GitHub offers no way for Claude to switch it on. - A couple of clicks on the views. GitHub doesn't let Claude set a view's sort order, so Claude tells you exactly which menu item to pick (for example "Act now → Sort by → Posted, descending → Save view").
- Stop the email flood. On your repository page: Watch → Participating and @mentions. Otherwise GitHub emails you about every new job. Optional extras (steps 3 to 6). Setup is complete without them; do any of them afterwards, in any order.
-
Job-alert emails (LinkedIn, Indeed, Glassdoor jobs). See below.
-
Reed (more UK jobs). See below.
-
Form filling. Install the Claude in Chrome extension. It works in your real Chrome, where you're already logged in to sites, and asks Chrome for broad permissions when you install it. How Claude limits what it does with it is below.
-
LinkedIn contact lookup (for referrals). Off unless you switch it on. See below.
The first run records everything currently open and puts only the strongest matches (Tier 1) on your board, so you don't start with hundreds of cards. After that, only new jobs appear.
job-radar never logs in to or scrapes those sites. Instead you set up job alerts there, and job-radar reads the alert emails.
- Create the alerts on each site (Claude suggests the searches).
- Choose the mailbox. Recommended: a new Gmail account used only for alerts, with a filter in your main Gmail forwarding alerts to it. You can use your main Gmail, but then the password below unlocks your whole inbox if it ever leaked (the trade-off: only your normal inbox lets the reply tracking work, see "Which mailbox?" below).
- Turn on 2-Step Verification for that account (Google requires it), then create an app password: Google Account → Security → App passwords. It's a separate password just for this, and you can revoke it any time without changing your real one.
- Add two secrets to your repository: Settings → Secrets and variables → Actions →
New repository secret:
JOBALERT_IMAP_USER(the address) andJOBALERT_IMAP_PASSWORD(the app password). Secrets are stored encrypted by GitHub and are never shown again, not even to Claude.
What happens with it: three times a day GitHub's servers log in to that mailbox read-only and never mark anything read, move or delete it. They do two things. (1) Fetch the emails from LinkedIn, Indeed and Glassdoor (emails that fail the sender's security signature are ignored). (2) Look for emails about the roles you have shortlisted or applied to: receipts, rejections, interview invitations, assessments. Only the sender, subject, date and a link are kept (in your private repository), never the email text, and sign-in codes, password resets and newsletters are skipped. Claude tells you what it found at the start of a session, so a reply cannot hide in a busy inbox. Never paste the password into Claude or a file.
Which mailbox? For (2) to see replies, the mailbox behind the app password must be the one employers write to (your normal address). With a separate alert-only mailbox, (1) works and (2) finds nothing; use your normal inbox if you want the reply tracking.
Two separate Gmail accesses, don't mix them up. (1) The mailbox above is read by GitHub's servers every run, over IMAP with its own app password. (2) Separately, when you ask "did anyone reply?", Claude reads your Gmail in the session through the Gmail connector in Claude (you approve it once; read-only), which can read a whole conversation and check what the scan classified.
- Register for a free API key at reed.co.uk/developers (your own Reed account).
- Add it as a repository secret named
REED_API_KEY(Settings → Secrets and variables → Actions), the same way as the mail secrets. Never paste it into Claude. - Tell Claude it's added; it switches the Reed source on. The key only allows searching jobs.
When you're about to apply to a role and know nobody there, Claude can find the likely hiring manager and a recruiter. By default it gives you LinkedIn search links to open yourself. If you'd rather it looked for you, say "switch on the LinkedIn lookup": it then reads LinkedIn's search results in your logged-in Chrome, for one role at a time and only when you ask, and never connects, messages or follows anyone. The risk: LinkedIn's terms ban any automated use of the site, so this could get your LinkedIn account restricted, even at this low volume. Say "switch off the LinkedIn lookup" to stop it.
LinkedIn job pages (off unless you switch it on; setup asks you): when Claude scores a role that comes from LinkedIn, it can read that one job page in your logged-in Chrome to get the description (one page at a time, read-only, no searching or browsing). Same risk as above: LinkedIn's terms ban automated use, so your account could be restricted. Setup asks, and the default is no: then Claude asks you to paste the description. Say "switch on the LinkedIn job-page reading" or "switch it off" at any time.
Only when you ask it to help with an application, or for the LinkedIn lookup if you've switched it on. Claude
works in tabs it opens itself for the task, on the employer's own application site. The extension could see
your other logged-in tabs; Claude doesn't use them. You approve the answers for every
page before they're typed. It never answers questions about visas, salary, diversity or
consent for you, never logs in or creates accounts for you (you do that in the tab), and
never clicks the final Submit. It won't touch LinkedIn, Indeed or Glassdoor applications at all (the
only LinkedIn uses are the opt-in contact lookup for referrals and the opt-in hiring-post search). The
hiring-post search (discovery.linkedin_posts.enabled) reads LinkedIn posts in your Chrome at the start of a
session, read-only and capped. It breaches LinkedIn's terms like the contact lookup does, so it is off until you say yes.
| When | You do |
|---|---|
| Claude has a tailored CV or cover letter ready | Read it: Claude only reuses your own lines, but you're the one sending it |
| Claude has filled an application form | Check each page; you click Submit |
| An Indeed/Glassdoor job needs scoring | Paste the job description (Claude never opens those sites). LinkedIn job descriptions it reads itself in your Chrome, one page at a time |
| Claude proposes a settings change, new job boards or a fix | Say yes or no. Nothing changes without your yes |
| Claude asks who can help at a company you'd apply to | Tell it the names. Message people you know yourself (Claude gives you the role links); for recruiters or hiring managers it drafts the note in the chat (never saved to a file) after a fresh reviewer has read it as the recruiter would. You send everything, then tell it what happened |
| You get a new job, certification or achievement | Tell Claude; it adds it to your CV lines so future applications can use it |
- My laptop is off. Does it still work? The daily search runs on GitHub's servers three times a day whether or not your computer is on, and new roles wait for you. What needs you: Claude scoring roles, filling in the board's details and checking your inbox happen when you open a Claude Code session.
- Where is my board? Ask Claude "give me the link to my board". It's on your GitHub account under Projects.
- Does an employer see that I looked at their job? Not in any way tied to you. The search reads public job lists and pages, so a company's website may log the page request like any other visitor, with no name attached. An employer learns about you only from an application you submit yourself.
- What does the Claude in Chrome extension see? It works in your real Chrome with your logins, so give it access only to the sites you want (Chrome's extension settings let you limit it to specific sites), and keep banking and email tabs out of the session. job-radar only asks it to open job pages and application forms.
- Does it change my settings without asking? Almost never. The exception: about once a week it nudges the scoring weight of a job-title keyword by one small step when your own scores justify it, and tells you with a one-line undo. Everything else (what to search, which countries, your CV) changes only after you say yes.
- I'm not relocating / don't need a visa. Tell Claude during setup: the sponsorship checks are written for someone relocating, so ask Claude to turn them off or adapt them for you.
- Is my CV going to the public project? No. Your CV and everything personal live only in your private copy. Code improvements are published to the public project by a script that refuses to send private files.
-
New computer or backup? Your private repository on GitHub is the backup. On a new machine install the four tools,
run
gh auth login, then tell Claude: "clone my-job-radar and get me going". - Where do the costs come from? The only money is your Claude plan. GitHub's free minutes cover the daily runs. How much of a session scoring and tailoring use is in Using it under Costs.
| To | Do |
|---|---|
| Pause the search | Tell Claude "pause the radar" (it switches off the scheduled runs), or on GitHub: Actions → job-radar → ⋯ → Disable workflow |
| Revoke board access | GitHub → Settings → Applications → Authorized OAuth Apps → GitHub CLI → Revoke |
| Revoke mailbox access | Delete the app password in your Google Account, and the two secrets in the repo settings |
| Delete everything | Delete your private repository, its board and the folder on your computer. job-radar stores nothing anywhere else. Two things sit outside it: Claude Code keeps its own conversation history on your computer, and what you paste into a Claude conversation (your CV, job descriptions) is processed by Anthropic under your account's data settings, so check those if that matters to you |
Next: 2. Using it