Skip to main content

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.

Release files for career-tailor 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for career-tailor 0.1.0
File Size Uploaded
career_tailor-0.1.0.tar.gz 22.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for career-tailor 0.1.0
File Interpreter ABI Platform
career_tailor-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.5 kB

Release files / career_tailor-0.1.0.tar.gz

Download URL career_tailor-0.1.0.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6c2e7dab77c45be6d0c2cfaeda6a7a634942a713ae5ae6c279b16c36b1ef8541
BLAKE2b-256 checksum
How to use checksums
66275200c9f063f5131ce9cff4aeb4d0e7c919d64abf729d6c0db8f5aa74c3ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 10, 2026.

Transparency log

Release files / career_tailor-0.1.0-py3-none-any.whl

Download URL career_tailor-0.1.0-py3-none-any.whl
Size 28.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fa0aebff271f1cd032007951407f37ba40680aba38f28460da9aeb8db922135
BLAKE2b-256 checksum
How to use checksums
1b7d0a5487412d9b685cc5c00dece39a7994d0b7adc53872811e5c3df8d53605
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page