B1zguy / Resumation-Automation-v3

The third version of my résumé automation endeavours!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Automatically generates cover letters by pulling data from Seek job listings. Seek URLs are fed into the program then the resumes are generated with InDesign exporting as PDFs.

The program can logically be seen as three scripts working together - all orchestrated within main.py.

  • Data fetching from Seek is done within main.py
  • AppleScript is used to run the automation for InDesign
  • The instructions for automation is written in ExtendScript

The comments in the code explains some of the seemingly non-intuitive design of this program. TLDR; ExtendScript is a language written by Adobe to automate Adobe software, however it's based on ECMAscript 3 and not well documented. AppleScript is used to call and manage the ExtendScript whilst feeding in the arguments. Everything is wrapped in Python so one can run with one click.


This third version builds upon its forefathers by:

  –   Adding type hints

  –   Cleaning legacy code, notes and comments

  –   Updating support for InDesign '22

  –   Updating support for Seek's ever-changing website

  –   Build in possibility to include more placeholders in the future

  –   Interactive CLI


Debugging ExtendScript in 2022 requires the ExtendScript Debugger in vsCode. Adobe created this to replace their no longer functioning ExtendScript Toolkit.



This is a CLI wrapped in the Poetry dependency management and packaging system.

Re Poetry: I think I've realised I never needed it for this project yet just going to leave it in for now. Couldn't get 'poetry run resumation' to work but program will run with poetry run python main.py.

Preparation

  –   Open resume-test.indd in InDesign. Doublecheck the placeholders 'OPENING' and 'COMPANY' are written. Be mindful that the ExtendScript script will attempt to automate any open document.

  –   Paste Seek URLs in jobs.csv. One each line.

To run

main.py can take two arguments or be left empty. Thus, two ways to run this CLI program.

Either run main.py with Poetry:

    poetry run python main.py

Or

    poetry shell to activate virtualenv then run
    python main.py


    To automatically run at once

    Run main.py without arguments.

    This is the handsoff approach. It will fetch the data, fill in the placeholders and export the cover letters.


    To edit 'job title' & 'company' prior to exporting

    1.   Run main.py jobs.

    2.   Edit fetched data in jobs-extracted.csv

    3.   Run main.py export to generate the PDFs.
          This step will not fetch new data!


Cover Letters can be found the Resumes folder (which must pre-exist).

About

The third version of my résumé automation endeavours!


Languages

Language:Python 55.3%Language:JavaScript 44.7%