What You'll Build

An AI agent that searches job boards, matches listings to your profile, customizes your resume for each role, drafts cover letters, and applies. You review a daily report of what it sent.

Why It Works

Job searching is 90% repetitive grunt work: scrolling listings, tweaking resumes, writing cover letters, filling forms. An AI agent can do this 24/7 with zero burnout. A human applying to 5 jobs per day competes against an agent applying to 50.

Results: 100+ applications in 3 days. 6 interviews. 2 offers. Salary doubled from $2,500 to $5,000/month.

Prerequisites

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Job Scanner │────▢│ Match Filter  │────▢│ Resume Tailorer  β”‚
β”‚              β”‚     β”‚              β”‚     β”‚                  β”‚
β”‚ - LinkedIn   β”‚     β”‚ - Role fit   β”‚     β”‚ - .md to PDF     β”‚
β”‚ - Indeed     β”‚     β”‚ - Salary     β”‚     β”‚ - Custom summary β”‚
β”‚ - Remote.co  β”‚     β”‚ - Location   β”‚     β”‚ - Highlight      β”‚
β”‚ - AngelList  β”‚     β”‚ - Tech stack β”‚     β”‚   relevant exp   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                   β”‚
                                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                                          β”‚   Applicator     β”‚
                                          β”‚                  β”‚
                                          β”‚ - Cover letter   β”‚
                                          β”‚ - Form fill      β”‚
                                          β”‚ - Email apply    β”‚
                                          β”‚ - Track status   β”‚
                                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                   β”‚
                                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
                                          β”‚  Daily Report    β”‚
                                          β”‚                  β”‚
                                          β”‚ - Applied: 47    β”‚
                                          β”‚ - Matched: 12    β”‚
                                          β”‚ - Responses: 3   β”‚
                                          β”‚ - Interviews: 1  β”‚
                                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Step-by-Step Setup

Step 1: Structure Your Work History

Create markdown files the agent can reference and remix:

resume/base-resume.md

# Your Name
**Title** | email@domain.com | LinkedIn | GitHub

## Summary
[2-3 sentences about your core value prop β€” the agent will customize this per job]

## Experience

### Senior Developer β€” Company Name (2023-Present)
- Built X that resulted in Y
- Led team of Z people
- Technologies: React, Node.js, PostgreSQL

### Developer β€” Previous Company (2021-2023)
- [accomplishments with numbers]

## Skills
- Languages: Python, JavaScript, TypeScript
- Frameworks: React, Next.js, Node.js
- Tools: Docker, AWS, PostgreSQL
- Soft: Team leadership, client communication

resume/projects.md β€” detailed project descriptions the agent can pull from resume/achievements.md β€” quantified wins (saved $X, improved Y by Z%)

Step 2: Define Your Job Search Criteria

Create a job-search-config.md:

## Target Roles
- Software Engineer (Senior/Staff)
- Full-Stack Developer
- Backend Engineer

## Requirements
- Salary: $100K+ (or equivalent remote)
- Remote: preferred, open to hybrid in [city]
- Company size: 10-500 employees
- Industry: SaaS, fintech, dev tools (preferred)

## Deal Breakers
- No crypto/web3
- No agencies
- Must have health insurance

## Tech Stack Preferences
- Strong match: React, Node.js, PostgreSQL, AWS
- Good match: Python, Go, TypeScript
- Weak match: Java, C#, Angular

## Application Strategy
- Prioritize: roles posted in last 48 hours
- Skip: roles with 500+ applicants on LinkedIn
- Always apply if: company is in my target list (see below)

## Target Companies
- Stripe, Vercel, Linear, Notion, Figma, Supabase

Step 3: Build the Job Scanner

The agent needs to find jobs. Several approaches:

LinkedIn (browser automation): Give your agent browser access with LinkedIn logged in. It searches using your criteria, scrolls through results, and extracts job details.

Job board APIs:

Google Jobs: Search site:linkedin.com/jobs "[your title]" "[your city]" or use Google Jobs API.

Step 4: Match and Rank

The agent reads each job description and scores it against your config:

Score = (role_match * 3) + (salary_match * 2) + (tech_match * 2) + (company_size * 1) + (recency * 1)

Only jobs scoring above your threshold get applications.

Step 5: Customize and Apply

For each matched job, the agent:

  1. Reads the full job description
  2. Customizes your resume summary to highlight relevant experience
  3. Reorders skills to match what the job asks for
  4. Writes a cover letter (if required) that references specific things from the job post
  5. Converts resume to PDF (use pandoc or a markdown-to-PDF tool)
  6. Applies via the platform's easy-apply, email, or form fill

Step 6: Track Everything

Create an applications.md or SQLite database:

| Date | Company | Role | Status | Link | Notes |
|------|---------|------|--------|------|-------|
| 3/3 | Linear | Senior FE | Applied | [link] | Strong match, used React |
| 3/3 | Vercel | Staff Eng | Applied | [link] | Dream company |
| 3/4 | Notion | Backend | Interview | [link] | Phone screen 3/7 |

Daily report to your Telegram/email: what was applied, any responses, upcoming interviews.

Customization Ideas

Gotchas & Tips