Skip to content
All work
022025·Live

JobPilot

One-click auto-apply across LinkedIn, Naukri, Workday and more.

jobpilot-wheat.vercel.app
JobPilot: 'Sit back and apply smart' sign-in and product overview
5+
job platforms
MV3
Chrome extension
15s
queue poll
3.0
extension version
Role

Solo build: extension, backend and automation

Stack
Chrome MV3React 19ViteExpress 5MongoDBPlaywrightnode-cronOpenRouter
The problem

Applying to jobs is soul-crushing repetition: the same resume fields, typed into a hundred slightly-different forms across LinkedIn, Naukri, Workday, Greenhouse and Lever.

The approach

Queue jobs from a dashboard; a Manifest V3 service worker picks them up, opens each in a background tab, injects platform-aware content scripts, maps the form to your resume data, and submits, while the server harvests fresh listings on a schedule.

Under the hood

01

Panel Automation Kernel

A shared automation core that does deep Shadow-DOM traversal (deepQuerySelectorAll), heuristic apply-surface scoring, and MutationObserver-based stability gating, so it waits for the real form to settle instead of racing it.

02

React-safe form filling

Fields are matched to resume data by regex maps, then set with native value setters and synthetic React events so controlled inputs actually register the change. LinkedIn Easy Apply is driven through its Shadow-DOM modal stepper; Naukri falls back to a contenteditable chatbot flow.

03

Scheduled scraping with Playwright

A server-side Playwright (chromium) service harvests LinkedIn and Naukri listings on a node-cron schedule and via a GitHub Actions workflow, persisting sessions so the queue always has fresh jobs.

04

AI-answered screening questions

Free-text screening questions are answered through OpenRouter (OpenAI-compatible) using the candidate's profile as context, with a graceful fallback.

What it does

01MV3 service-worker job queue (polls every ~15s)
02One-click apply from the dashboard
03LinkedIn, Naukri, Workday, Greenhouse and Lever support
04Google OAuth sign-in
05Resume parsing (pdf-parse) into a structured profile
06Downloadable packaged extension build

See it live

Open ↗
jobpilot-wheat.vercel.appOpen
Loading live site…
Next project

ATSync