Open source
The whole of the site, the crawler and the rules behind every status and forecast are public.
Licence
The code is released under the MIT licence, copyright Apprentice Atlas contributors: use it, change it and share it, keeping the copyright notice. Public sector information we show stays under the Open Government Licence v3.0, employer facts cite the employer page they came from, and employer logos remain their owners’ property. The open data export says the same for each file.
What is inside
apps/web: this website (Next.js).apps/worker: the crawler, one connector per kind of careers site, and the curated seed of employers, programmes and fact files.packages/core: the rules, with tests: status (open, closing soon, closed, opening soon, expected, rolling, TBC), forecasts from past cycles, and brand-colour contrast checks.packages/db: the database schema and queries.
How to contribute
You need Node.js 22, pnpm 10 and Postgres 16. Then:
pnpm install
cp .env.example .env # set DATABASE_URL
pnpm db:migrate
pnpm db:seed:real
pnpm dev- Run
pnpm test,pnpm lintandpnpm typecheckbefore opening a pull request. - Adding or correcting an employer? Edit the seed files in
apps/worker/seed/and give a primary source (the employer’s own page) for every fact, with the date you read it. - Found a wrong date and do not want to touch code? Open an issue on the repository.
- The ground rules (primary sources only, polite crawling, no AI inference) are in CONTRIBUTING.md.
- Found a security problem? Report it privately, as SECURITY.md explains, not in a public issue.
Where the data comes from
Only primary sources: employers’ own careers sites and job feeds, and the government’s apprenticeship service. Never other aggregators. Every window records whether its dates were published, estimated or forecast, and how the source was read. The full list of source kinds is on data sources, and their health on status.