Job Application Assets Creator
Project description
"In this twisted wonderland of ours, it takes every ounce of your strength, every bit of your resolve, just to maintain the position and stand still." -- The Red Queen
JAAC
The Job Application Assets Creator
jaac is a CLI tool that uses a LLM and a templating engine to create custom job application assets such as CVs and cover letters. See the example folder for generate samples.
prerequisites
jaac uses pdflatex to produce pdf files from rendered templates. You will need to have pdflatex installed on your system.
# on macos
brew install basictex
Installation
# jaac is available on pypi
pip install jaac
Before using for the first time, initialize jaac:
jaac init
IMPORTANT: This will create a few files that you will need to modify and rename before using jaac.
Configuration
jaac init creates the following files:
- jaac.config.toml.example
- cv.tex.template.example
- letter.tex.template.example
- profile.txt.example
The general procedure is to modify these files and remove the .example extension. Once proper values are set, you can use any jaac commands.
jaac.config.toml.example
This file contains the app config such as an API key to interact with LLMs via openrouter.ai, the system prompt templates used for the generation of cv, cover letters and direct messages, the path to the cv and letter templates to use etc.
You will need, at a minimum, to provide a value for OPEN_ROUTER_API_KEY. You can get an API key in the openrouter.ai console.
Latex templates
both cv.tex.template.example and letter.tex.template.example are latex templates that will be used to generate a pdf asset depending on the jaac command you use (cv or letter).
These files can contain anything that can be compiled by pdflatex. The only requirement is that these files contain the following placeholder:
((* summary *))
jaac will replace this placeholder with the text generated by the LLM model for the personalization of the asset.
The example files contain simple latex templates that you can use as a starting point. Feel free to modify them to your liking or substitute them entirely with your own templates.
profile.txt.example
This file contains the profile of the user. This is the text that will be used to personalize the assets generated by jaac.
It should contain a semi-structured free-text resembling a CV. YAML formatting has worked well for me.
Usage
Once configuration is done, you can use jaac to generate job application assets.
# create a CV personalized for the job you are applying to.
jaac cv offer.txt cv.pdf
# create a cover letter for the fob
jaac letter offer.txt letter.pdf
# generate a chat message to a recruiter that you can send, for example, on linkedin
jaac dm offer.txt
Where offer.txt contains the text description of the job offer. Something you will probably copy and paste from the job posting.
About
I am Jonathan Pelletier and I created jaac to help me with my job applications. I hope it helps you too and that it takes some of the drudgery out of the job application process.
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 jaac-0.2.3.tar.gz.
File metadata
- Download URL: jaac-0.2.3.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3744332ecb856a74f614b024d549578f9d226efc1cc59a9a8474af5e8845157c
|
|
| MD5 |
9d3080ae18bd09059e3d5e4bf1d61ece
|
|
| BLAKE2b-256 |
b8daf6841f4bd4dd280e1fea1babcb38dd71d6c9f6d4c97c7b64e5b5c05aaec5
|
File details
Details for the file jaac-0.2.3-py3-none-any.whl.
File metadata
- Download URL: jaac-0.2.3-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1486638fa1384986395fdb4d0ee82837870622261fbcfc8cadc56b2319699873
|
|
| MD5 |
7316e2e673794692b24b904ec9f8da9c
|
|
| BLAKE2b-256 |
6eb8da954b6f0410f26cc3dcbbf69f87698d47b54e2cace353637054316357d3
|