Skip to main content

Automatically fill in experience for online job applications.

Project description

jobappfiller

This is a CLI and GUI application designed to make it easier to apply to jobs in which the online application requires one to add all of their experience again in their own text boxes (even when you already submit a resume).

Simply fill out the TOML configuration and run the application GUI and you can simply click each button to copy that field to your clipboard and paste into the website.

Future plans are to utilize selenium to auto-fill these fields, but I am trying to work around the differences in these fields company-to-company.

Usage

Downloading

First, download the repository.

git clone https://github.com/ashellwig/jobappfiller.git
cd jobappfiller

Next, customize the resume.toml file.

mv resume.example.toml resume.toml

Configuration

Use the following format:

[[default]]
name = "Default"

[[default.experience]]
name = ""
location = ""
startdate = "" # Use MM/DD/YYYY format.
enddate = ""  # Use MM/DD/YYYY format.
jobtitle = ""
description = """\
    Begin job description here.\
    """

Make sure you use the \ character to break long lines in the string. Make sure all of the fields are of a string type.

This way, you can make many of these configuration files to adjust your experience descriptions on a per-application basis by specifying the resume configuration file.

Configuration Example

Just to illustrate how to use the configuration file format, here is the top two experience entries I personally have in my default resume TOML configuration at resume.toml:

[[default]]

[[default.experience]]
name = "TAKKION (TP&L Management Solutions)"
location = "Broomfield, CO"
startdate = "09/01/2023"
enddate = "03/01/2025"
jobtitle = "IT Cloud Developer"
description = """\
    Migrate C#/.NET and Python Applications to the GCP/Azure \
    cloud environment. Implement automated account provisioning on Microsoft \
    Azure Entra ID through Paylocity's API with serverless \
    functions and webhooks.\
    """

[[default.experience]]
name = "American Express"
location = "Phoenix, AZ"
startdate = "07/01/2022"
enddate = "09/01/2023"
jobtitle = "Python & SQL Developer"
description = """\
    Migrate massive dataset from Teradata to Hive and ensure 1:1 mapping \
    of rules and regulatory reports through TSQL to Hive SQL. Utilize GCP, \
    AWS, JFrog, and Jira for CI/CD. Written a Python package to pull HiveQL \
    Query results and format them using a personally written Python package \
    for CornerStone to convert the data into XML format for reporting \
    requirements as requested by FR, MX, IT, and NL. Utilize Azure cloud \
    functions and Spring Boot for microservices. ETL pipelines. SQLAlchemy \
    library for interaction with Python and C#/.NET.\
    """

Installing

This application has only been tested with Python 3.13.2 on Arch Linux (v6.14.6-arch1-1). If you are using other platforms and experience issues, please open a request.

Assuming you are already in the source directory of the repository and have completed your configuration, simply build the package with pip or pyinstaller depending on if you wish to build the development Python package (pip) or a distributable executable file of the CLI (pyinstaller).

Installing with Local Repo

# Installing with `pip install --editable .`.
python -m venv .venv
source ./.venv/bin/activate
python -m pip install -r requirements.txt  # Probably unnecessary.
python -m pip install --editable .

# Installing by building the executable locally.
# Run the above commands, then run:
pyinstaller \
    --onefile \
    --icon=./jobappfiller/resources/favicon.ico \
    --name jobappfiller-cli \
    --collect-all jobappfiller \
    ./jobappfiller/cli.py

Installing by downloading the latest release

Either visit the latest release page on github or use the following script (also found at scripts/download_latest_release.sh)

latest_release="releases/latest/download/jobappfiller-cli"

if type "wget" >/dev/null; then
    wget "https://github.com/ashellwig/jobappfiller/${latest_release}"
    chmod +x ./jobappfiller-cli
    echo -e "\033[1,32mSuccessfully downloaded ${latest_release}\033[0m"
elif type "curl" >/dev/null; then
    echo -e "\033[1,33mUsing curl to download ${latest_release}\033[0m"
    curl \
        -L "https://github.com/ashellwig/jobappfiller/${latest_release}" \
        >jobappfiller-cli
    chmod +x ./jobappfiller
    echo -e "\033[1,32mSuccessfully downloaded ${latest_release}\033[0m"
else
    echo -e "\033[1,31mPlease install either wget or curl.\033[0m"
    exit 1
fi

Then you are ready to run!

Running

To run the GUI, after installing or downloading the latest release simply:

# Installed with `pip install --editable .`.
jobappfiller gui -f resume.toml --datefmt "MM/dd/yyyy"

# Installed by locally building the execuatable.
./dist/jobappfiller-cli gui -f resume.toml -datefmt "MM/dd/yyyy"

# Installed with downloaded release.
${DOWNLOAD_PATH}/jobappfiller gui -f resume.toml --datefmt "MM/dd/yyyy"

This will open the GUI for your specified configuration. If you have many experience listings, remove the line app.geometry("900x450") in the app.py in the run_gui() function, or adjust it to your liking.

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

jobappfiller-1.1.2.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

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

jobappfiller-1.1.2-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file jobappfiller-1.1.2.tar.gz.

File metadata

  • Download URL: jobappfiller-1.1.2.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for jobappfiller-1.1.2.tar.gz
Algorithm Hash digest
SHA256 7f5717cd7e67ffa88103ccfe5f30a4bfddc57b2936292e4ff5ce10d04789e7e1
MD5 35ab66d91720593462f6d2211ec08696
BLAKE2b-256 50481a0329c4e6ee5d17bd376e4eeffb28f80babae2f7d2f250bc455cc1dc2f0

See more details on using hashes here.

File details

Details for the file jobappfiller-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: jobappfiller-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for jobappfiller-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fbe897570c6d92a70f6d62d9a7f500ba1621b473db36815cc7cba0b6676fc892
MD5 b300003e0907a38d57ad30682d1a30fc
BLAKE2b-256 f65a7d1dec5f75840be41096dc446dfe67a9504fc682c8029d0729377df9fe1b

See more details on using hashes here.

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