Skip to content

aibr442/offerpilot-ai

Repository files navigation

OfferPilot AI

OfferPilot AI is a local-first career operations app for finding jobs, tailoring application materials, tracking applications, and preparing answers for ATS forms.

It is designed to keep the resume fact base under the user's control: the master resume is the source of truth, the employment history stays locked, and AI tailoring is limited to the profile/summary, skills wording, cover letter, LinkedIn text, and application-form answer drafts.

What it does

  • Search jobs through configured ATS boards and web-search providers.
  • Import or edit a structured master_resume.yml.
  • Generate an ATS-safe tailored resume from the master resume and a job description.
  • Keep employment history unchanged to avoid suspicious gaps or invented experience.
  • Produce a match score, ATS keyword analysis, cover letter, LinkedIn version, and changelog.
  • Render PDF resumes from HTML/CSS templates using Playwright/Chromium.
  • Track saved/applied/rejected/interview jobs in SQLite.
  • Fetch application questions where supported and draft answer packs for manual review.

Core principle

Master resume  -> source of truth
AI tailoring   -> profile/summary + skills wording + supporting documents
Experience     -> copied from the master resume, not rewritten or removed
Apply Assistant -> drafts answers, user reviews and submits manually

OfferPilot AI does not blindly submit applications. It prepares materials and answer drafts, then opens the original ATS page for human review.

Quick start on Windows

cd C:\projects\offerpilot-ai
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\run.ps1

Open:

http://127.0.0.1:8442

The first run creates local editable files from examples when needed:

data/settings.yml
data/master_resume.yml

These local files are ignored by Git so personal data and API keys are not accidentally committed.

LLM providers

OfferPilot AI can use:

  • Ollama / Qwen locally
  • Groq API
  • Mistral API

For local Qwen:

ollama pull qwen2.5:14b
ollama serve

For cloud providers, copy .env.example to .env and add keys, or use the Settings page:

GROQ_API_KEY=
MISTRAL_API_KEY=
SERPAPI_API_KEY=
OLLAMA_BASE_URL=http://localhost:11434

PDF generation

PDFs are not generated by the language model. The app uses a deterministic rendering pipeline:

tailored_resume.json -> Jinja2 HTML template -> Playwright Chromium -> PDF

Available templates:

  • strict — ATS-safe, plain, single-column
  • modern — default balanced template
  • compact — tighter layout
  • accent — slightly more visual styling

Search

Directly fetching Google HTML is unreliable, so OfferPilot supports multiple search paths:

  • SerpApi, when configured, for Google / Google Jobs style search.
  • Bing dork fallback and manual query links.
  • Curated Greenhouse and Lever board scans.

Search results persist while the server is running and can be removed with Clear results.

Apply Assistant

Apply Assistant can detect supported ATS links, fetch visible application questions where possible, and generate a reviewed answer pack.

Common fields such as name, email, phone, LinkedIn, GitHub, location, salary expectation, work authorization, and availability can be prefilled from the master resume and settings.

File-upload fields such as “Upload resume/CV” are treated as upload tasks, not text questions.

Documentation

Repository hygiene

The GitHub version ships with example config and example resume files only. Runtime databases, generated resumes, imported PDFs, .env, and personal resume data are ignored by .gitignore.

License

MIT License. See LICENSE.

About

Local-first AI job search, resume tailoring, application tracker, and ATS answer assistant.

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors