Skip to main content

Agent-assisted resume tailoring for job seekers.

Project description

Career Tailor

Career Tailor is a local-first command line tool that turns a master resume into job-specific drafts. It extracts a structured profile from your resume, compares that profile against a job description, and generates tailored Markdown, JSON, CSS, and optionally PDF output.

The goal is not to fabricate experience. The agent is prompted to preserve the facts in your profile and reframe them in the language of the job description.

Why

Many applicant tracking systems and recruiter workflows reward resumes that use the same language as the job posting. Career Tailor helps job seekers build truthful, role-specific versions of a resume without manually rewriting the same material for every application.

Install

uvx career-tailor --help

For local development:

git clone https://github.com/chriestensonb/career-tailor.git
cd career-tailor
uv sync
cp .env.example .env

You can also run the latest unreleased GitHub version directly:

uvx --from git+https://github.com/chriestensonb/career-tailor career-tailor --help

Set your model provider key in .env. By default the project uses a Pydantic AI Anthropic model string, but OpenAI model strings are supported too:

CAREER_TAILOR_MODEL=anthropic:claude-sonnet-4-6
ANTHROPIC_API_KEY=...

Or:

CAREER_TAILOR_MODEL=openai:<model-name>
OPENAI_API_KEY=...

Usage

Create a structured profile from an existing resume:

career-tailor ingest ./my-resume.md

Generate a tailored resume from a job description:

career-tailor tailor ./job-description.md

Skip PDF rendering when you only want Markdown and JSON:

career-tailor tailor ./job-description.md --no-pdf

The default profile path is data/profile.json. Generated outputs go to tailored/. Both directories are ignored by Git because they commonly contain personal information.

Data And Privacy

Career Tailor runs locally, but it sends resume and job description text to the model provider you configure. Do not use it with sensitive data unless you are comfortable with that provider's data handling terms.

The repository ignores:

  • .env and other local env files
  • data/, which stores extracted profile data
  • tailored/, which stores generated resumes
  • local caches and virtual environments

Development

uv sync --dev
uv run pytest
uv run ruff check .

If PDF rendering fails the first time, install Playwright's Chromium browser:

uv run playwright install chromium

Project Status

This is early alpha software. It is useful as a local CLI today, and the next good open-source milestones are provider examples, safer redaction workflows, more resume import formats, and package publishing.

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

career_tailor-0.1.0.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

career_tailor-0.1.0-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file career_tailor-0.1.0.tar.gz.

File metadata

  • Download URL: career_tailor-0.1.0.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for career_tailor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6c2e7dab77c45be6d0c2cfaeda6a7a634942a713ae5ae6c279b16c36b1ef8541
MD5 94efe1a7d988ba3d1c067c0a8f6d61e5
BLAKE2b-256 66275200c9f063f5131ce9cff4aeb4d0e7c919d64abf729d6c0db8f5aa74c3ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for career_tailor-0.1.0.tar.gz:

Publisher: publish.yml on chriestensonb/career-tailor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file career_tailor-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: career_tailor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for career_tailor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fa0aebff271f1cd032007951407f37ba40680aba38f28460da9aeb8db922135
MD5 caa5bd48aec1d72e184adea4c06c4f9c
BLAKE2b-256 1b7d0a5487412d9b685cc5c00dece39a7994d0b7adc53872811e5c3df8d53605

See more details on using hashes here.

Provenance

The following attestation bundles were made for career_tailor-0.1.0-py3-none-any.whl:

Publisher: publish.yml on chriestensonb/career-tailor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page