Open source

Read every line.

SponsorJobs is free software under the GNU Affero General Public License, version 3. The community edition is the same engine as the installer, run from source with your own AI key.

Why the AGPL

A job hunt means handing over the most personal document most people own. The only way to prove that SponsorJobs keeps your resume on your machine is to let you read the code that handles it. The AGPL guarantees that stays true: anyone who ships a changed version, including as a hosted service, has to publish their changes under the same terms.

It also keeps the price honest. The people who need this most, students on F-1 and OPT, often cannot legally earn money yet. With the source public and the community edition free, nobody is locked out, and the paid passes only cover the things that cost us money per use: the bundled AI and the live interviewer.

What is in the repository

  • The engine (Python): sourcing from employer boards, the sponsor-record match, the LaTeX tailoring and self-healing compile loop, drafting, assisted apply, interview practice.
  • The desktop shell (Electron): one window, with a browser pane the apply step uses so you can watch every form before anything is sent.
  • The browser extension: sponsorship facts on the job page you are reading, looked up inside your browser from a public index, so no company name leaves it.
  • The data pipeline: scripts that turn the Department of Labor LCA and PERM disclosure files, the USCIS H-1B Employer Data Hub and the DHS E-Verify list into the sponsor index the app and this website read.
  • Sixteen resume templates, each a single column and a single page, that applicant tracking systems can parse.

Run it from source

About ten minutes on macOS, Windows or Linux. You need Python 3.11 or later, a LaTeX distribution and an Anthropic or OpenAI key. The README has the full walk-through; the short version:

git clone https://github.com/KofiGilbert/sponsorjobs
cd sponsorjobs
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python -m ui.app

The first run asks for your AI key and keeps it in a git-ignored file on your computer. Nothing else is set up on a server.

How to contribute

  1. Report a problem. Open an issue with what you did, what you expected, and what happened. A screenshot of the app helps; please blank out your own details.
  2. Fix a wrong sponsorship mark. The marks come from public filings and lag by months. If an employer looks wrong, open an issue with the employer's legal name and a link to the filing you are looking at, so the match can be checked against the source data.
  3. Add an employer board. Jobs come from employers' own career sites and applicant tracking systems. If a sponsoring employer is missing, an issue with the careers URL is enough to start.
  4. Send code. Fork, branch, run pytest, open a pull request. Keep changes small and say what you tested. Resume templates must stay single-column and single-page, and copy must not use em or en dashes, and says resume rather than the two-letter abbreviation.

What we will not merge. Anything that automates a logged-in LinkedIn account, anything built to get around a site's bot detection or captcha, and anything that submits an application on a site whose terms forbid automation. Those limits are the product, not a gap in it.