forget-the-thunderdome
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Job hunting beyond Thunderdome — a local-first, open-source toolkit that finds roles without the LeetCode/AI-screener gauntlet. Runs your whole search from the CLI, driven by an AI agent.
forget-the-thunderdome
Job hunting beyond Thunderdome.
Two hundred candidates enter, one leaves — and the fight is LeetCode puzzles and AI
screeners instead of anything resembling engineering. Forget the Thunderdome. This
toolkit runs your job search against the companies that don't make you step into
the dome: no CoderPad gauntlets, no timed assessments, no talking to a bot before a
human reads your name.
Everything runs locally. Your pipeline lives in a SQLite file on your machine, your
email token stays on your machine, and your profile lives in one YAML file the repo
never commits.
What it does
- Job discovery that validates postings by actually reading them — an HTTP 200
doesn't mean a role is real or still open (skills/job-search-validation/) - Gauntlet filtering — target hiring-without-whiteboards companies and skip
LeetCode-gated front doors - Email tracking — syncs recruiter email and classifies it (interview / offer /
rejection) straight into your local pipeline (mcp-servers/gmail-server/) - Application tracking — SQLite pipeline: applied, contacted, interviewing,
offer; who owes you a reply and who you owe one (src/job_cli.py) - Cover letters driven by your profile config — authentic, never generic
- Form parsing — extract application form fields and suggest answers from your
profile (mcp-servers/form-parser/) - Agent-driven mode — every piece is exposed as MCP servers; point Claude or
GitHub Copilot at them and an AI agent runs the search loop with you
Quickstart (engineers)
git clone https://github.com/ethos71/forget-the-thunderdome
cd forget-the-thunderdome
pip install -r src/requirements.txt
cp profile.yaml.example profile.yaml # fill in who you are and what you want
python3 src/job_cli.py dashboard # your pipeline (creates data/job_tracker.db)
python3 src/job_cli.py jobs # scored postings
python3 src/job_cli.py follow-ups # who needs a nudge
Email sync — Gmail, any IMAP mailbox, or Microsoft 365 / Outlook (Graph):
# Gmail (one-time OAuth setup: docs/providers/gmail-setup.md)
python3 mcp-servers/gmail-server/gmail_tracker.py --sync --days 30
# Any IMAP mailbox (Fastmail, iCloud, self-hosted, …) — set FTT_IMAP_* env,
# see docs/providers/imap-setup.md
python3 mcp-servers/imap-server/imap_tracker.py --sync --days 30
# Microsoft 365 / Outlook via Graph — set FTT_GRAPH_* env + register an Azure app,
# see docs/providers/microsoft-graph-setup.md
python3 mcp-servers/graph-server/graph_tracker.py --sync --days 30
All four servers classify recruiter mail into the same local pipeline and also run
as --mcp stdio servers.
Agent mode
This toolkit was built to be driven by an AI agent, and every piece works two ways.
Via the CLI — open this repo in Claude Code (or Copilot with terminal access),
and the agent runs the loop — discover → validate (skills/job-search-validation/)
→ score → apply → track → follow up — by calling the same commands you would.
Via MCP — the gmail-server, job-discovery, and form-parser modules each run as a
stdio MCP server with a --mcp flag, so any MCP client can wire them in without
shell access:
python3 mcp-servers/gmail-server/gmail_tracker.py --mcp # sync + classify email
python3 mcp-servers/job-discovery/scraper.py --mcp # discover + score postings
python3 mcp-servers/form-parser/form_parser.py --mcp # parse a form, suggest answers
Copy .mcp.json.example to .mcp.json (set YOUR_PROJECT_ROOT) to register all
three with your client. They run locally over stdio and share the sameprofile.yaml and data/job_tracker.db as the CLI — nothing new leaves your
machine. The --mcp flag is purely additive; the CLI commands above still work
unchanged. Running as an MCP server needs the mcp package (pip install mcp); the
plain CLI does not.
Just give me the app
A desktop launcher with a first-run profile wizard ships in launcher/ — a windowed
app (no terminal) that writes your profile.yaml and runs the loop with buttons:
python3 launcher/ftt_launcher.py # opens the GUI (needs a display)
python3 launcher/ftt_launcher.py --check # headless self-check
To hand someone a double-click app with no Python install, freeze it per-OS with
PyInstaller — launcher/build.sh does this (see launcher/README.md).
Roadmap
Shipped (see the sections above): native --mcp servers for gmail/job-discovery/
form-parser; IMAP + Microsoft Graph email providers; HTML dashboard
(job_cli.py dashboard --html); ICS calendar export (job_cli.py calendar);
desktop launcher with first-run profile wizard.
Still open:
- Calendar: native Google / Microsoft OAuth adapters (ICS export ships today)
- Microsoft Graph email: end-to-end verification + token refresh/backoff (the
provider is scaffolded; needs an Azure app registration to exercise) - Package the launcher into signed per-OS installers (PyInstaller/CI)
Privacy
profile.yaml,data/, and email tokens are gitignored from day one- Nothing leaves your machine except the requests you make to job boards and your
own email provider - No telemetry, no accounts, no SaaS
License
MIT — see LICENSE.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi