A privacy-first browser extension for tracking job applications while you browse job boards.
ApplyPilot helps you detect the current job page, review or edit the captured details, save the job locally, and manage your applications from a popup, side panel, and dashboard.
- Fast popup flow for detect, review, edit, and save
- Side panel workspace for browsing-time job tracking
- Dashboard for larger management views and data-heavy workflows
- Local-first storage using browser storage
- Duplicate detection by job URL first, then company plus title
- Reminder support with follow-up date, time, and note fields
- Minimal extension permissions by default
The popup is designed for quick actions on the current page:
- Detect the job posting from the active tab
- Show a compact summary of the detected role
- Edit important fields before saving
- Save immediately when the detected data looks good
- Jump to the side panel or full dashboard after saving
The side panel is the browsing companion for day-to-day tracking:
- Detect the current job page while you browse
- Save, edit, or review jobs without leaving the tab
- View recent jobs and upcoming reminders
- Open detailed job and reminder views
- Manage application status and follow-up workflows
The dashboard is the larger workspace for management-style tasks:
- Full application browsing
- Table-oriented views
- Analytics and export-oriented flows
- More room for scaling job management over time
- Open a job posting in the browser.
- Open the ApplyPilot popup or side panel.
- ApplyPilot detects the visible job details from the active tab.
- Review the captured information.
- Save immediately or edit before saving.
- Manage the saved record later from the side panel or dashboard.
Saved jobs are stored locally in the browser. Each record keeps createdAt and updatedAt values, and saves try to avoid duplicates by checking URL first and then company plus title.
- WXT
- React 19
- TypeScript
- Tailwind CSS 4
- shadcn/ui and Radix primitives
- TanStack Form
- TanStack Table
- Zod
- Sonner
- pnpm
The current manifest is intentionally small:
activeTabscriptingsidePanelstorage
Current host permission:
*://*.linkedin.com/*
If detection expands to more sites later, permissions should stay as narrow as possible.
- Node.js
- pnpm
pnpm installChrome / Chromium:
pnpm devFirefox:
pnpm dev:firefoxpnpm compilepnpm buildFirefox production build:
pnpm build:firefoxpnpm zipFirefox zip:
pnpm zip:firefox- Run
pnpm devorpnpm build. - Open
chrome://extensions. - Enable Developer mode.
- Click
Load unpacked. - Select the WXT output directory.
- Run
pnpm dev:firefoxorpnpm build:firefox. - Open
about:debugging. - Choose
This Firefox. - Click
Load Temporary Add-on. - Select the generated manifest from the build output.
- Use
pnpmbecause the repo is locked withpnpm-lock.yaml. - Keep
entrypoints/thin and move feature logic intomodules/. - Prefer existing shared UI components from
components/ui. - Keep the popup lightweight and focused on quick save flows.
- Keep larger management flows in the side panel and dashboard.
- Preserve local-first behavior unless a feature explicitly needs something else.
- Avoid broad permissions, remote services, analytics, and telemetry unless intentionally added.
Saved jobs support fields such as:
- title
- company
- location
- url
- platform
- salary
- notes
- status
- reminder fields
- timestamps
Storage behavior includes:
- normalization before save
- backward-safe stored record parsing
- duplicate detection
- create, update, delete, and list operations
ApplyPilot is under active development. The popup, side panel, local storage, and detection flow are already in place, and the dashboard is positioned to keep growing into the larger management surface.
