Automate your entire job search using AI β from a single Google Sheet.
Find jobs across LinkedIn, Indeed, RemoteOK & more. Match them to your resume. Draft personalized emails. Push to Gmail. Track everything. Zero hosting. Zero cost. Powered by Gemini.
Job searching is repetitive and time-consuming. You open 10 tabs, search the same query on 5 boards, copy-paste into a spreadsheet, write the same email 20 times. JobPilot AI automates all of it.
- π 100% free β runs on Google's free tier (Gemini API + Apps Script)
- π« No hosting needed β everything runs serverlessly inside Google Sheets
- π Your data stays yours β no external servers, no accounts, no tracking
- β‘ One-click pipeline β search β match β draft β Gmail in a single click
- π€ AI-powered, not AI-dependent β direct scrapers run first, AI fills the gaps
| Feature | Description |
|---|---|
| π Resume Parsing | Upload or paste your resume β Gemini extracts skills, experience, and target roles |
| π AI Job Search | Searches the web for jobs across LinkedIn, Indeed, Glassdoor, Wellfound, RemoteOK & more |
| πΌ Direct Scrapers | Built-in scrapers for LinkedIn, Indeed, RemoteOK, We Work Remotely β no API quota used |
| βοΈ Manual Input | Paste job URLs or descriptions β AI extracts structured job details |
| π Bulk Import | Paste multiple job listings from any source β AI parses them all at once |
| π― Job Matching | AI scores every job (0-100) against your resume with detailed explanations |
| βοΈ Email Drafting | Gemini writes personalized application emails (casual, formal, or custom style) |
| π§ Gmail Drafts | One-click push emails to Gmail as drafts, ready to review and send |
| π Full Tracking | Google Sheet tracks every job: status, match score, email draft, Gmail link |
| π Full Pipeline | Run search β match β draft β Gmail in a single click from the sidebar |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Google Sheets UI β
β Custom Menu Β· HTML Sidebar β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Google Apps Script β
β βββββββββββ ββββββββββββ ββββββββββββ βββββββββββ β
β β Resume β β Job β β Job β β Email β β
β β Parser β β Search β β Matcher β β Drafter β β
β ββββββ¬βββββ ββββββ¬ββββββ ββββββ¬ββββββ ββββββ¬βββββ β
β βββββββββββββΌβββββββββββββΌββββββββββββββ β
β βΌ βΌ β
β ββββββββββββββββ ββββββββββββ β
β β Gemini 2.0 β β Gmail β β
β β Flash API β β Drafts β β
β β + Search β ββββββββββββ β
β β Grounding β β
β ββββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Direct Scrapers (no API needed) β β
β β LinkedIn Β· Indeed Β· RemoteOK Β· WWR β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Single API key, multiple capabilities:
- π€ AI Analysis β Resume parsing, job matching, email drafting
- π Web Search β Job discovery via Gemini Search Grounding
- πΌ Direct Scrapers β LinkedIn, Indeed, RemoteOK, WeWorkRemotely (free, no Gemini quota used)
- π§ Gmail β Draft creation and management
- Google account (free or Workspace)
- Gemini API key (get one free)
That's it! No other API keys, subscriptions, or services needed.
- Create a new Google Sheet
- Open Apps Script Editor: Extensions β Apps Script
- Copy all
.gsfiles from thesrc/folder into the script editor - Copy
Sidebar.htmlas an HTML file in the script editor - Update
appsscript.json: Show manifest file, replace contents withsrc/appsscript.jsonfrom this repo - Reload the Sheet β the π JobPilot AI menu appears
- Run Initialize from the menu to create tracker sheets
- Enter your Gemini API key via JobPilot AI β Settings
π Detailed setup guide: SETUP.md
src/
βββ appsscript.json # Apps Script manifest (required by CLASP)
βββ Code.gs # Entry point, custom menu, orchestration
βββ GeminiService.gs # Gemini API wrapper (REST + Search Grounding)
βββ SheetManager.gs # Google Sheets CRUD operations
βββ Config.gs # Configuration & API key management
βββ ResumeParser.gs # Resume analysis via Gemini
βββ JobSearch.gs # AI-powered job discovery + direct scrapers + manual input
βββ JobMatcher.gs # Job-resume matching & scoring
βββ EmailDrafter.gs # Personalized email generation
βββ GmailService.gs # Gmail draft creation
βββ Utils.gs # Utility functions
βββ Sidebar.html # HTML sidebar UI
JobPilot AI uses a hybrid approach: direct scrapers run first (free, no quota), then Gemini Search Grounding fills the gaps.
| Source | Method | API Quota |
|---|---|---|
| Direct scraper (public pages) | β Free | |
| Indeed | Direct scraper (HTML parsing) | β Free |
| RemoteOK | Direct scraper (JSON API) | β Free |
| We Work Remotely | Direct scraper (RSS feed) | β Free |
| Glassdoor, Wellfound, Cutshort, Instahyre | Gemini Search Grounding | β Uses quota |
| Company career pages | Gemini Search Grounding | β Uses quota |
| Any URL or text | Manual Add / Bulk Import | β Uses quota |
Note: LinkedIn, Naukri, and Glassdoor job details may be login-gated. Use Add from URL or Bulk Import for jobs from these platforms.
| API | Free Tier | Cost After Free Tier |
|---|---|---|
| Gemini API | 15 requests/min, 1,500/day | ~$0.001 per request |
| Gmail API | 250 drafts/day | Free (included with Google account) |
π‘ Only one API key (Gemini) is required. It's free from Google AI Studio. This is NOT the same as a Gemini Pro subscription β the API key is completely free with generous daily limits.
| Issue | Solution |
|---|---|
| Menu doesn't appear | Reload the sheet, or run onOpen manually in Apps Script |
| Rate limit (429) errors | Wait for quota reset (midnight PT) or enable billing |
| Search returns few results | Try different keywords, or search multiple times (duplicates auto-skipped) |
| LinkedIn/Naukri jobs missing | Use Bulk Import or Add from URL instead |
| URL added but no details | Login-gated site β copy job text into Bulk Import |
π Full troubleshooting guide: SETUP.md#-troubleshooting
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repo
- Create your feature branch (
git checkout -b feature/awesome-feature) - Commit your changes (
git commit -m 'Add awesome feature') - Push to the branch (
git push origin feature/awesome-feature) - Open a Pull Request
This project is licensed under the MIT License β see the LICENSE file for details.
- Google Gemini API for powering all AI features including Search Grounding
- Google Apps Script for the serverless runtime
- Built with β€οΈ for job seekers everywhere
job-search job-automation google-apps-script gemini-api google-sheets job-tracker resume-parser email-automation job-board-scraper ai-automation job-hunting career-tools google-workspace gemini-ai job-application gmail-automation job-matching remote-jobs productivity open-source


