Local-first AI job application engine
A zero-SaaS automation system: LinkedIn scrape → filter → LLM-tailored applications → Gmail delivery → Postgres tracking — all running on your machine with encrypted secrets in git.
Architecture
| Layer | Technology |
|---|---|
| Discover | LinkedIn jobs, feed, hashtags, watchlists |
| Decide | Next.js dashboard filters (stack, location, keywords) |
| Compose | Ollama generates emails + ReportLab cover-letter PDFs |
| Deliver | Gmail attachments, Easy Apply, comment-apply |
| Remember | PostgreSQL runs, applications, reply sync, metrics |
| Orchestrate | n8n cron triggers + webhook pipelines |
Python automation highlights
generate_resumes.py— multi-variant resumes from structured JSON profile- Playwright profiles for authenticated scraping
- Ingest pipelines with deduplication and scoring
- Encrypted
.envand Chrome profiles via git-crypt
AI agentic patterns
- LLM tailors each application to job description + resume variant
- Guardrails: max applications per window, schedule-aware triggers
- Human dashboard for approve/skip before send
Result
A production-grade personal automation platform demonstrating Python + LLM + n8n + Next.js integration — the same patterns I bring to client workflow and agent projects.

