localATS is a browser-based ATS resume analyzer that runs AI locally on your device. Resume and job description data are processed in-browser and are not uploaded to your servers.
- Privacy-first workflow (no account required, no backend resume processing)
- Local inference with Transformers.js + ONNX Runtime Web
- Supports pasted text and PDF input
- Fast compatibility scoring with semantic and domain checks
- Open source and auditable
localATS is in beta phase. Core analysis is production-usable, while some quality and model-tuning improvements are still in progress.
git clone https://github.com/0xnbk/localATS.git
cd localATS
npm install
cp .env.example .env.development
npm run download-models
npm run devOpen the dev server URL shown by Vite (typically http://localhost:5173).
| Command | Purpose |
|---|---|
npm run dev |
Start local dev server |
npm run build |
Build production assets to dist/ |
npm run build:offline |
Production-mode build |
npm run preview |
Preview built app |
npm run serve |
Preview on port 3000 |
npm run test |
Run tests in watch mode |
npm run test:run |
Run tests once (CI-style) |
npm run test:ui |
Run Vitest UI |
npm run download-models |
Download required HF models to public/models |
npm run setup:local |
Alias for model download |
Copy .env.example and choose one mode:
- Local mode (development):
VITE_MODEL_SOURCE=localVITE_MODEL_BASE_URL=/models- Model files served from
public/models/...
- Remote mode (production):
VITE_MODEL_SOURCE=remoteVITE_MODEL_BASE_URL=https://<your-model-host>- Use HuggingFace-style model paths (
<model>/resolve/main/...)
The app reads model settings from src/config/model-config.ts.
This repo includes wrangler.jsonc configured to serve dist/ as Worker assets.
npm run build
npx wrangler deployIf you are deploying with remote models, ensure your production env file values are set before building.
- Vite + TypeScript
- Transformers.js
- ONNX Runtime Web
- Comlink + Web Workers
- PDF.js
- Tailwind CSS (utility styling support)
- Semantic model:
0xnbk/nbk-ats-semantic-v1-en - Domain model:
0xnbk/nbk-ats-domain-v1-en
Hugging Face quick links:
Both are used for compatibility analysis between resume and job description content.
localATS/
├─ src/
│ ├─ core/ # ATS engine and scoring logic
│ ├─ ui/ # UI behavior and interactions
│ ├─ services/ # PDF and sample helpers
│ ├─ workers/ # Worker-side ATS execution
│ └─ styles/ # App styles
├─ public/ # Static assets + model files (local mode)
├─ scripts/ # Model download script
├─ tests/ # Unit and integration tests
└─ wrangler.jsonc # Cloudflare Worker asset deploy config
See SPONSOR.md for full sponsorship details.
Apache 2.0. See LICENSE.