2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00
2026-10-06 23:43:21 -07:00

Procyon — Job Hunt Workflow Engine

Multi-step job-hunt pipeline with a web GUI, running on a Proxmox LXC (never on the MacBook).

Pipeline

  1. Discover — pull jobs from RemoteOK + Indeed RSS (+ optional extra feeds), store in SQLite.
  2. Score — fit score (0–1) + a one-line "why" opinion, LLM-first, keyword fallback.
  3. Tailor — clone the master resume and reorder/re-emphasize for the role (honest-only: no fabricated employers/dates/skills). Draft a tailored cover email.
  4. Self-Audit — automatic checklist (employer name, no placeholders, contact info, subject, resume targets the job). Every item must PASS.
  5. Approve (human gate) — you review and click Approve. Nothing sends without this.
  6. Send — SMTP email with tailored resume attached. Send is BLOCKED unless approved AND the audit passed AND SMTP is configured.
  7. Track — log outcomes (response/interview/offer) and surface response-rate insights.

Design rules

  • Inference runs on the LAN Ollama host (llm_base_url), NEVER on this CT (drjones rule).
  • Graceful degradation: if the model is saturated, scoring/tailoring falls back to deterministic keyword matching — the pipeline never blocks on inference.
  • Honest resumes only. The LLM system prompt forbids fabricating credentials.
  • Optional outbound proxy (his own Nord proxy CT) for discovery fetches — not an evasion rig.

Setup

  • systemctl restart procyon after deploy.
  • Configure SMTP (iCloud app-specific password) in Settings before sending.

Files

  • app.py — Flask routes + pipeline orchestration
  • db.py — SQLite schema + helpers
  • scraper.py — discovery (RSS/JSON + proxy)
  • llm.py — Ollama client + keyword fallback
  • tailor.py — scoring + resume tailoring + email drafting
  • audit.py — pre-send self-audit
  • emailer.py — SMTP send
  • improve.py — outcome tracking + insights
Description
Procyon — Job Hunt Workflow Engine
Readme 78 KiB
Languages
Python 80.8%
HTML 18.4%
Shell 0.8%