CLI tool for checking your fit against job postings.
Project description
fitcheck
A decision support tool for job applications powered by local AI.
Prerequisites
-
Ollama installed and running locally
-
At least one model pulled, e.g.:
ollama pull llama3.2 -
Python 3.10 or later
Installation
git clone https://github.com/talaniz/fitcheck.git
cd fitcheck
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
First run
Run fitcheck with no arguments to set up your profile:
fitcheck
You will be prompted for your target role, years of experience, top skills, location, work location preference, and where to save job files. A few optional fields (industries, must-haves, deal breakers) help refine the analysis but can be skipped by pressing Enter.
Configuration is written to ~/.fitcheck/config.json.
Commands
| Command | Description |
|---|---|
fitcheck |
Run initial setup if no config exists, otherwise print help |
fitcheck check |
Analyze the job description currently in your clipboard |
fitcheck config edit |
Re-run the setup wizard to update your profile |
How fitcheck check works
- Reads the job description from your system clipboard (copy it before running the command)
- Sends your profile and the job description to the local LLM
- Receives a fit score (1–10) and a short written assessment
- Prints the result to the terminal
- Saves a file to your configured jobs directory
Saved file format
Each analysis is saved as a .txt file named after the company and role (e.g. acme_senior_engineer.txt) in the directory you specified during setup (default: ~/fitcheck/jobs).
The file contains:
Fit: 7/10
<2-3 paragraph assessment>
---
<original job description>
Configuration
The config file lives at ~/.fitcheck/config.json. You can edit it directly or re-run fitcheck config edit.
To use a different Ollama model, add a "model" key to the config file:
{
"model": "mistral",
...
}
The default model is llama3.2.
Example Output
$ fitcheck check
Analyzing with llama3.2...
Fit: 8/10
Strong match overall. Your 5 years of experience with Python and Django aligns
well with their stack. Remote preference matches their flexible work policy.
The role emphasizes PostgreSQL and Docker, both in your skill set.
Minor gaps: They mention Kubernetes experience as a plus, which isn't in your
profile. The role leans heavily on fintech domain knowledge, which may require
a learning curve.
Saved to ~/fitcheck/jobs/acme_corp_senior_engineer.txt
Planned
- ATS keyword scan: compare the job description against your profile to surface missing keywords that applicant tracking systems commonly filter on.
Project details
Release history Release notifications | RSS feed
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 fitcheck-0.1.0.tar.gz.
File metadata
- Download URL: fitcheck-0.1.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecb8f61edd417ae66600e7402849bd744a887e46aa756bd69b22902579f5cdb9
|
|
| MD5 |
d0e29bb468391aeea62ea90532dbc5e2
|
|
| BLAKE2b-256 |
1621272a98c843496a6e8c3a38aa0bce0593f3ecf476c95b5203e45eaa6e6437
|
Provenance
The following attestation bundles were made for fitcheck-0.1.0.tar.gz:
Publisher:
publish.yml on talaniz/fitcheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fitcheck-0.1.0.tar.gz -
Subject digest:
ecb8f61edd417ae66600e7402849bd744a887e46aa756bd69b22902579f5cdb9 - Sigstore transparency entry: 1274078051
- Sigstore integration time:
-
Permalink:
talaniz/fitcheck@6a0305c704355feff428498485925dd6616c36af -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/talaniz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6a0305c704355feff428498485925dd6616c36af -
Trigger Event:
push
-
Statement type:
File details
Details for the file fitcheck-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fitcheck-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89f8902263ba5aa0d44a9e01b4787eb8e9d5c01d78369720ba6a3b106fddb02d
|
|
| MD5 |
a17eb19e07cbdbac7bd7599c7868c016
|
|
| BLAKE2b-256 |
f60b76569244f64dc93a7512e5562aeebd8c84c65095deaef1b105acd57b8911
|
Provenance
The following attestation bundles were made for fitcheck-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on talaniz/fitcheck
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fitcheck-0.1.0-py3-none-any.whl -
Subject digest:
89f8902263ba5aa0d44a9e01b4787eb8e9d5c01d78369720ba6a3b106fddb02d - Sigstore transparency entry: 1274078167
- Sigstore integration time:
-
Permalink:
talaniz/fitcheck@6a0305c704355feff428498485925dd6616c36af -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/talaniz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6a0305c704355feff428498485925dd6616c36af -
Trigger Event:
push
-
Statement type: