AI-powered job search assistance for matching roles, tailored resumes, and faster applications.
135
stars
13
commits
TypeScript
primary language
Jun 6, 2026
updated
This repository contains the code corresponding to an in-depth tutorial available on our YouTube channel, JavaScript Mastery.
If you prefer visual learning, this is the perfect resource for you. Follow our tutorial to learn how to build projects like these step-by-step in a beginner-friendly manner!
JobPilot is an autonomous, full-stack AI agent that transforms how technical job seekers find work by simultaneously browsing LinkedIn, Wellfound, and YC Jobs to discover, score, and apply to roles. Powered by Next.js, GPT-4o, and Browserbase/Stagehand automation, the app dynamically customizes resumes and executes real browser application forms autonomously. More than just a utility, JobPilot serves as a masterclass in modern agentic engineering, utilizing five core open-source skillsβ/architect, /remember, /review, /recover, and /imprintβto demonstrate how a single developer with a structured system can rapidly ship durable, production-grade AI software.
An experimental Browserbase/Stagehand apply path is included for review β see BROWSERBASE_REPORT.md for full details on what was attempted and where it currently stands.
If you're getting started and need assistance or face any bugs, join our active Discord community with over 50k+ members. It's a place where people help each other out.
π LinkedIn Job Discovery: Authenticated LinkedIn search utilizing a saved Browserbase context session to fetch job titles, companies, locations, and source/apply URLs automatically.
π Match Scoring: Advanced evaluation where each discovered job is parsed and scored against your professional profile by an LLM, then ranked by match percentage.
π Job Inventory: A central, filterable dashboard table that organizes matched jobs with quick access to source links, external apply links, application types, and real-time status.
π Job Details: A dedicated, per-job review view featuring a transparent match breakdown, full descriptions, direct resume controls, and manual apply triggers.
π Resume Generation & Tailoring: Dynamic engine that generates a foundational resume from your user profile, then instantly customizes it to target specific job descriptions.
π LinkedIn Easy Apply: An experimental, automated application path utilizing saved LinkedIn session contexts and Stagehand DOM mode to submit applications directly.
π External Apply Attempt: An experimental, hybrid-mode browser path powered by Stagehand designed to navigate complex external ATS forms and complete inputs autonomously.
π Session Recordings: Complete transparency layer that links every automated application attempt to a Browserbase video recording URL for auditing and debugging.
And many more, including code architecture and reusability.
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/adrianhajdin/job_pilot.git
cd job_pilot
Installation
Install the project dependencies using npm:
npm install
Set Up Environment Variables
Create a new file named .env in the root of your project and add the following content:
NEXT_PUBLIC_INSFORGE_URL=https://9zb7h4wq.us-east.insforge.app
NEXT_PUBLIC_INSFORGE_ANON_KEY=
NEXT_PUBLIC_POSTHOG_KEY=
NEXT_PUBLIC_POSTHOG_HOST=https://eu.i.posthog.com
OPENAI_API_KEY=
BROWSERBASE_API_KEY=
BROWSERBASE_PROJECT_ID=
ADZUNA_APP_ID=
ADZUNA_APP_KEY=
Replace the placeholder values with your real credentials. You can get these by signing up at: InsForge, Browserbase, OpenAI, PostHog, Adzuna Running the Project
npm run dev
Open http://localhost:3000 in your browser to view the project.
How It Works
/jobs list, click into any role for the full description, match breakdown, and apply linksBrowserbase Integration
See BROWSERBASE_REPORT.md for a detailed report on how Browserbase and Stagehand are used in this project, including the full history of the apply automation experiments and the current project state.
Deploy on Vercel
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out the Next.js deployment documentation for more details.
Assets and snippets used in the project can be found in the video kit.
Advance your skills with our Pro Course
Enjoyed creating this project? Dive deeper into our PRO courses for a richer learning adventure. They're packed with detailed explanations, cool features, and exercises to boost your skills. Give it a go!
8 commits
5 commits
TypeScript
95.5%
CSS
3.1%
PLpgSQL
1.1%
AI-powered job search assistance for matching roles, tailored resumes, and faster applications.
135
stars
13
commits
TypeScript
primary language
Jun 6, 2026
updated
This repository contains the code corresponding to an in-depth tutorial available on our YouTube channel, JavaScript Mastery.
If you prefer visual learning, this is the perfect resource for you. Follow our tutorial to learn how to build projects like these step-by-step in a beginner-friendly manner!
JobPilot is an autonomous, full-stack AI agent that transforms how technical job seekers find work by simultaneously browsing LinkedIn, Wellfound, and YC Jobs to discover, score, and apply to roles. Powered by Next.js, GPT-4o, and Browserbase/Stagehand automation, the app dynamically customizes resumes and executes real browser application forms autonomously. More than just a utility, JobPilot serves as a masterclass in modern agentic engineering, utilizing five core open-source skillsβ/architect, /remember, /review, /recover, and /imprintβto demonstrate how a single developer with a structured system can rapidly ship durable, production-grade AI software.
An experimental Browserbase/Stagehand apply path is included for review β see BROWSERBASE_REPORT.md for full details on what was attempted and where it currently stands.
If you're getting started and need assistance or face any bugs, join our active Discord community with over 50k+ members. It's a place where people help each other out.
π LinkedIn Job Discovery: Authenticated LinkedIn search utilizing a saved Browserbase context session to fetch job titles, companies, locations, and source/apply URLs automatically.
π Match Scoring: Advanced evaluation where each discovered job is parsed and scored against your professional profile by an LLM, then ranked by match percentage.
π Job Inventory: A central, filterable dashboard table that organizes matched jobs with quick access to source links, external apply links, application types, and real-time status.
π Job Details: A dedicated, per-job review view featuring a transparent match breakdown, full descriptions, direct resume controls, and manual apply triggers.
π Resume Generation & Tailoring: Dynamic engine that generates a foundational resume from your user profile, then instantly customizes it to target specific job descriptions.
π LinkedIn Easy Apply: An experimental, automated application path utilizing saved LinkedIn session contexts and Stagehand DOM mode to submit applications directly.
π External Apply Attempt: An experimental, hybrid-mode browser path powered by Stagehand designed to navigate complex external ATS forms and complete inputs autonomously.
π Session Recordings: Complete transparency layer that links every automated application attempt to a Browserbase video recording URL for auditing and debugging.
And many more, including code architecture and reusability.
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/adrianhajdin/job_pilot.git
cd job_pilot
Installation
Install the project dependencies using npm:
npm install
Set Up Environment Variables
Create a new file named .env in the root of your project and add the following content:
NEXT_PUBLIC_INSFORGE_URL=https://9zb7h4wq.us-east.insforge.app
NEXT_PUBLIC_INSFORGE_ANON_KEY=
NEXT_PUBLIC_POSTHOG_KEY=
NEXT_PUBLIC_POSTHOG_HOST=https://eu.i.posthog.com
OPENAI_API_KEY=
BROWSERBASE_API_KEY=
BROWSERBASE_PROJECT_ID=
ADZUNA_APP_ID=
ADZUNA_APP_KEY=
Replace the placeholder values with your real credentials. You can get these by signing up at: InsForge, Browserbase, OpenAI, PostHog, Adzuna Running the Project
npm run dev
Open http://localhost:3000 in your browser to view the project.
How It Works
/jobs list, click into any role for the full description, match breakdown, and apply linksBrowserbase Integration
See BROWSERBASE_REPORT.md for a detailed report on how Browserbase and Stagehand are used in this project, including the full history of the apply automation experiments and the current project state.
Deploy on Vercel
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out the Next.js deployment documentation for more details.
Assets and snippets used in the project can be found in the video kit.
Advance your skills with our Pro Course
Enjoyed creating this project? Dive deeper into our PRO courses for a richer learning adventure. They're packed with detailed explanations, cool features, and exercises to boost your skills. Give it a go!
8 commits
5 commits
TypeScript
95.5%
CSS
3.1%
PLpgSQL
1.1%