Career-Ops (Slagathore Fork)
A more aggressive, GUI-first take on job hunting.
Forked from santifer/career-ops and pushed in a different direction: full graphical UI, deeper customization, more analytical insight, and a faster, broader funnel.
What This Fork Is About
The original career-ops is a careful, "quality over quantity" filter — it deliberately tells you not to apply to anything below 4.0/5. That's a great philosophy for a senior IC who already has leverage.
This fork is for a different situation: you want to cast a wider net, see more of the market, and make the system tell you what's actually worth chasing — visually. Same evaluation engine underneath, very different posture on top.
What changed:
- Full graphical UI — a local web interface (
webui/) on top of the existing terminal dashboard (dashboard/). Browse, filter, sort, evaluate, and act on offers from a browser. No more squinting at TSV files.
- More aggressive funnel — wider scanning, lower skip thresholds (configurable), and a pipeline view that surfaces everything and lets you triage fast instead of pre-filtering you down to 5 jobs.
- Deeper customization — extended profile schema, more scoring knobs, archetype overrides, and per-portal weighting you can tune from the GUI.
- More insight — analytics across your pipeline: rejection patterns, response-rate by company size / archetype / comp band, follow-up cadence, time-to-response heatmaps. The original ships analyzers; this fork promotes them to first-class GUI views.
- Investor / outreach pipeline — a parallel tracker for non-job outreach (advisors, investors, warm intros), because for a lot of people the job search is bundled with founder/consulting motion.
Everything in the upstream still works. /career-ops, evaluation modes, batch processing, ATS PDF generation, Greenhouse/Ashby/Lever scanning — all intact.
Why "Aggressive"
Aggressive does not mean spam.
It means:
- Look at more of the market. Don't pre-filter at the scanner. Score everything, sort visually, then decide.
- Faster cycle time. GUI triage is seconds-per-listing instead of minutes. You see more, you decide more, you don't lose context.
- Lower the floor, not the bar. You can override the 4.0/5 default if a 3.6 is in the right city or pays right or is a strategic stepping stone — but you do it with eyes open, with the score and the reasoning visible.
- Track outreach, not just applications. Cold DMs, referrals, investor pitches, advisory calls — same pipeline, same dashboard.
The system still refuses to auto-submit anything. You always click the button. Recruiters' time still matters.
Features
| Feature | Source | Status |
|---|
| Web UI | this fork | local browser-based pipeline view |
| Investor / outreach tracker | this fork | parallel pipeline for non-job contacts |
| Dashboard TUI | upstream + extended | filter, sort, lazy-load previews |
| A-F Evaluation | upstream | 10-dimension scoring, archetype detection |
| ATS PDF Generation | upstream | tailored CVs per JD |
| Portal Scanner | upstream | 45+ companies on Greenhouse / Ashby / Lever |
| Batch Processing | upstream | parallel evals via headless workers |
| Pipeline Integrity | upstream | merge / dedup / status normalization |
| Pattern Analysis | upstream + GUI surface | response rates, rejection patterns |
| Human-in-the-loop | upstream | system never auto-submits |
Quick Start
# Clone
git clone https://github.com/Slagathore/career-ops.git
cd career-ops && npm install
npx playwright install chromium
# Sanity check
npm run doctor
# Configure
cp config/profile.example.yml config/profile.yml
cp templates/portals.example.yml portals.yml
# Create cv.md in the project root with your CV in markdown
# Open the AI agent in this directory and let it personalize the system
claude # or: codex / gemini / opencode / qwen / copilot
# Build the GUIs
cd dashboard && go build -o dashboard . && cd ..
cd webui && go build -o webui . && cd ..
# Run the web UI
./webui/webui --path .
# Then open the URL it prints
# Or run the TUI
./dashboard/dashboard --path .
Usage