All projects

JobHunter

AI-powered job application pipeline in Rust — scrapes 141+ boards, scores jobs, researches companies, generates outreach emails via LLM, and sends them at $0 LLM cost.

RustGoTypeScriptWeb ScrapingLLMSMTPData Engineering
Timeline: September 2025 - PresentRole: CreatorTeam: SoloStatus: in-progress

Overview

JobHunter is an AI-powered job application pipeline written in Rust (~700 lines). It scrapes 141+ job boards, scores jobs by match quality, researches companies, generates personalized outreach emails via free-tier LLM providers, and sends them — all at $0 LLM cost.

Two binaries ship in one tarball: the Rust core orchestrates the pipeline, and a thin Go bridge connects to scrappy for the actual scraping.

Architecture

jobhunter (Rust binary)
  ├── spawns → scraper (Go bridge)
  │               └── scrappy (141 sites, email extraction, MX verify)
  ├── LLM router (9 free providers, weighted random + failover)
  ├── SMTP sender (Gmail STARTTLS, rate-limited)
  ├── Tracking server (open/click pixels)
  └── Telegram alerts (per-run reports)

Pipeline

  1. Scrape — 141 boards → title filter → email filter → SQL dedup → email queue
  2. Score — Unscored jobs ranked 1-10 via LLM
  3. Research — 3 talking points per company generated via LLM
  4. Send — Personalized emails sent via SMTP with rate limiting
  5. Track — Open/click tracking via 1x1 pixel and redirects

Key Features

$0 LLM Cost

Routes requests across 9 free-tier LLM providers with weighted random selection and automatic failover. No API keys needed for the core pipeline.

141+ Job Boards

Scrapes via scrappy's guest API — no Playwright or browser automation needed.

Smart Email Pipeline

Rate-limited SMTP sending with daily quota tracking, signature with GitHub/Portfolio/Resume links, and recruiter reply triage (positive/negative/neutral).

Tracking Dashboard

Built-in HTTP tracking server with open/click pixel tracking and a Vercel-deployed pipeline dashboard.

Tech Stack