Skip to content

Repository files navigation

ApplyPilot — Job Tracker & Autofill (Chrome Extension)

A Manifest V3 Chrome extension that makes job hunting seamless: track every application on a pipeline, capture any job posting in one click, and autofill applications — résumé included — from a profile you fill out once.

Features

  • 📋 Pipeline tracker — every job lives in one of five stages (Saved → Applied → Interview → Offer → Rejected). Move a job with a single dropdown; live counts at the top.
  • ⚡ One-click capture — grab the title, company, location, and description of the job posting you're viewing. Reads structured JobPosting (JSON-LD) data when available and falls back to smart DOM/heuristic scraping. Also available via right-click menu and ⌘⇧J / Ctrl+Shift+J.
  • ✍️ Smart autofill — a floating Autofill pill appears on application forms. It matches fields by label, name, placeholder, and aria-label, then fills them from your saved profile without overwriting anything you've already typed. Shortcut: ⌘⇧U / Ctrl+Shift+U.
  • 📎 Résumé auto-attach — upload your résumé once; ApplyPilot attaches it to matching file-upload fields during autofill using the browser-approved DataTransfer API (no manual re-picking).
  • 🖼️ Works inside iframes — the content script runs in every frame (all_frames), so embedded application forms and their résumé fields get filled too. Results from all frames are aggregated into a single confirmation toast.
  • 👤 Profile page — one place for your basics, links, experience, work authorization, a reusable cover letter, and your résumé. Autosaves as you type. Export everything (including the résumé) to JSON.
  • 🔎 Search & filter, dark-mode support, and a badge showing your active application count.

Install (unpacked, for development)

  1. Open chrome://extensions
  2. Toggle Developer mode (top-right)
  3. Click Load unpacked and select this folder (job-apply/)
  4. Pin ApplyPilot to your toolbar

After pulling changes that touch manifest.json, click the refresh icon on the ApplyPilot card to reload it (Chrome may re-confirm new permissions).

Usage

  1. Click the ⚙ icon in the popup (or open the extension's options) and fill out your profile and upload your résumé.
  2. On any job posting, click Capture current page (or press ⌘⇧J).
  3. On an application form, click the Autofill pill (or press ⌘⇧U) — text fields fill and your résumé attaches. Always review before submitting.
  4. As you progress, move each job through the pipeline stages.

Privacy: all data (profile, jobs, and résumé) is stored locally via chrome.storage.local. Nothing is sent anywhere. Autofill runs entirely in your browser and never submits a form for you.

Single purpose

ApplyPilot does one thing: it helps you track and apply to jobs by saving job postings and autofilling application forms with data you provide. All data stays on your device — none is collected, sold, or transmitted, and no browsing activity is monitored.

Permissions — why each is needed

Permission Why
storage, unlimitedStorage Save jobs, profile, and the résumé file locally
activeTab, scripting Read the current page to capture a job posting
contextMenus Right-click → "Save this job"
webNavigation Enumerate a tab's frames so autofill reaches iframe forms
host_permissions: <all_urls> Show the Autofill pill and fill forms on any career site

Files

File Purpose
manifest.json MV3 configuration, permissions, commands
background.js Service worker: capture, context menu, shortcuts, badge, frame-aware autofill
content.js / content.css Autofill + résumé engine and floating pill injected into every frame
popup.html/.css/.js Main UI — pipeline, stats, search, add/edit
options.html/.css/.js Profile + résumé editor, JSON export
icons/ Generated brand icons

Notes on autofill & résumé

The matcher is heuristic and conservative:

  • Only fills empty fields; never overwrites what you typed.
  • Skips checkboxes, radios, and <select> dropdowns (answered deliberately by you).
  • Attaches the résumé only to file inputs that look like a résumé field (label/name contains resume, cv, curriculum, upload, attach) or that explicitly accept document types — avatar/photo uploads are left alone.
  • Every filled field and attached résumé flashes green so you can see exactly what changed.

Known limitations

  • Custom drag-and-drop uploaders that hide the real <input type=file> (or expose no input at all) still need a manual click.
  • Some heavily-scripted ATSes (e.g. Workday) use custom widgets instead of standard inputs; those fill only partially.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages