Shaheer Sarfaraz b94f85b149
Reduce low risk duplication (#79)
* clean up helpers

* shared in it's own top level folder

* workspaces setup

* build fix

* disable workspaces?

* run ci

* rename job-flow to gradcracker

* optional dependencies

* formatting?

* more optional modules

* allow post install runs

* node bump

* remove post install

* add optionals

* add more

* formatting

* comments, but im unsure

* run typescript DIRECTLY

* better build

* camoufox simplification

* lint

* build process doesn't exist

* build fix

* lockfile

* type check everything, build only for client

* rename steps correctly

* import from package!

* fix formatting

* don't fetch twice

* fix concern
2026-02-02 21:30:14 +00:00
..
2026-02-02 21:30:14 +00:00
2025-12-26 20:17:05 +00:00
2026-02-02 21:30:14 +00:00
2026-01-07 23:53:01 +00:00

UK Visa Jobs Extractor

Fetches job listings from my.ukvisajobs.com that may sponsor work visas.

Setup

npm install

If Playwright browsers are skipped in your environment, install Firefox:

npx playwright install firefox

If Camoufox assets are missing, fetch them:

npx camoufox-js fetch

Configuration

Set the following environment variables:

Variable Description
UKVISAJOBS_EMAIL Login email for automatic token refresh
UKVISAJOBS_PASSWORD Login password for automatic token refresh
UKVISAJOBS_HEADLESS Set to false to show the browser (default: true)
UKVISAJOBS_MAX_JOBS Maximum jobs to fetch (default: 50, max: 200)
UKVISAJOBS_SEARCH_KEYWORD Optional search filter

Automatic login & cache

The extractor will:

  1. Launch a Camoufox (Playwright Firefox) browser and sign in
  2. Navigate to the open jobs page and capture the token/cookies
  3. Cache the session to storage/ukvisajobs-auth.json
  4. Reuse the cached values until the API reports an expired token, then refresh

Running

npm start

Output is written to storage/datasets/default/ as JSON files.