Automated job application pipeline powered by Claude AI
Project description
Opaux — Automated Job Application CLI
Opaux is a modular Python CLI tool that automates the end-to-end job application process: discovering jobs, scoring them with AI, tailoring your CV, generating cover letters, and submitting applications.
Features
- Discovery — Scrapes LinkedIn, Indeed, Glassdoor and more via python-jobspy
- AI Scoring — Uses Claude to score each job against your profile (1–10)
- CV Tailoring — Generates tailored .docx CVs in American, German, or Europass format
- Cover Letters — AI-generated, personalized cover letters
- Auto Apply — Playwright-powered form filler for online applications
- Tracker — Rich terminal dashboard with analytics
Installation
pip install -e .
playwright install chromium
Configuration
- Copy and edit
config/profile.yamlwith your personal details - Copy and edit
config/settings.yaml— add your Claude API key and search parameters
Usage
# Discover new jobs
opaux discover
# Score unscored jobs (AI-powered)
opaux score --limit 50 --min-score 6.0
# Tailor your CV for a specific job
opaux tailor JOB_ID --format american
opaux tailor JOB_ID --format german --lang de
opaux tailor JOB_ID --format europass --lang fr
# Generate a cover letter
opaux cover JOB_ID
# Apply to a job (dry run first!)
opaux apply JOB_ID --dry-run
opaux apply JOB_ID
# Track applications
opaux track
opaux track --status applied
opaux track --export applications.csv
# Run the full pipeline
opaux pipeline --limit 10 --min-score 7.0
Project Structure
opaux/
├── main.py # Click CLI entry point
├── requirements.txt
├── setup.py
├── config/
│ ├── profile.yaml # Your personal profile
│ └── settings.yaml # API keys, search params
├── templates/
│ ├── cv_american.yaml
│ ├── cv_german.yaml
│ └── cv_europass.yaml
├── src/
│ ├── database.py
│ ├── discovery.py
│ ├── scoring.py
│ ├── tailoring.py
│ ├── cv_formats.py
│ ├── translator.py
│ ├── docx_builder.py
│ ├── cover_letter.py
│ ├── applicator.py
│ └── tracker.py
├── data/ # SQLite DB (auto-created)
├── output/ # Generated CVs and cover letters
└── tests/
Supported CV Formats
| Format | Features |
|---|---|
| American | Clean single-column, no personal data, ATS-optimized |
| German | Photo placeholder, DOB/nationality, signature block |
| Europass | CEFR language grid, DIGCOMP digital competence grid, EQF labels |
Supported Languages for Translation
de fr es pt nl it pl sv da no fi cs hu ro bg el tr ar zh ja ko
#\x00 \x00O\x00p\x00a\x00u\x00x\x00
\x00
\x00
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file opaux-0.1.1.tar.gz.
File metadata
- Download URL: opaux-0.1.1.tar.gz
- Upload date:
- Size: 63.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
423dcfce328b0dd09c0bd3f1ca80d81b4bdafc29a5b73ea02adbff5ea862f5ce
|
|
| MD5 |
d5bb60ed6339025820c05840e66c082d
|
|
| BLAKE2b-256 |
bd5c57afcce8344b64a02839452fac6fd800c65a0d546ad43b664b68d0bd0161
|
Provenance
The following attestation bundles were made for opaux-0.1.1.tar.gz:
Publisher:
release.yml on faykgordon-sudo/Opaux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaux-0.1.1.tar.gz -
Subject digest:
423dcfce328b0dd09c0bd3f1ca80d81b4bdafc29a5b73ea02adbff5ea862f5ce - Sigstore transparency entry: 1155082463
- Sigstore integration time:
-
Permalink:
faykgordon-sudo/Opaux@93e1711679261a59a2cae68c4aeede8446ec3012 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/faykgordon-sudo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@93e1711679261a59a2cae68c4aeede8446ec3012 -
Trigger Event:
push
-
Statement type:
File details
Details for the file opaux-0.1.1-py3-none-any.whl.
File metadata
- Download URL: opaux-0.1.1-py3-none-any.whl
- Upload date:
- Size: 62.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b14e39c6398c8758045de967d6d60f4a5539cb2c3041419627270482df120f20
|
|
| MD5 |
9b65e0079e1ba48d045b79691c20a6f0
|
|
| BLAKE2b-256 |
d5c5b93a1a892edd3b4aefbd394b41a9139d6d874b8be0e661786163d7ade3e4
|
Provenance
The following attestation bundles were made for opaux-0.1.1-py3-none-any.whl:
Publisher:
release.yml on faykgordon-sudo/Opaux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
opaux-0.1.1-py3-none-any.whl -
Subject digest:
b14e39c6398c8758045de967d6d60f4a5539cb2c3041419627270482df120f20 - Sigstore transparency entry: 1155082464
- Sigstore integration time:
-
Permalink:
faykgordon-sudo/Opaux@93e1711679261a59a2cae68c4aeede8446ec3012 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/faykgordon-sudo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@93e1711679261a59a2cae68c4aeede8446ec3012 -
Trigger Event:
push
-
Statement type: