PRODUCTION-STYLE AI AUTOMATION
AI Job Search Automation Platform
A production-style AI automation platform that discovers job postings, filters them through deterministic eligibility rules, ranks fit with an LLM, and drafts tailored application documents from my own verified background — then, only once a chain of safety gates clears, submits automatically. The moment anything is uncertain, it hands control back to me instead of guessing.
Operational private platform · public portfolio showcase published.
⚠ Shown with fully synthetic demo data — every company, role, date, and figure is fabricated. No real employer or application information appears anywhere in the public showcase.
KEY CAPABILITIES
Discovery to submission, with a gate at every consequential step.
Discovery & filtering
- Multi-source job discovery
- Persistent cross-run deduplication
- Deterministic eligibility gates
AI-assisted evaluation & generation
- LLM-based fit ranking
- Grounded document generation
- Independent reviewer critique
Submission & human control
- Layered submission safety gates
- Isolated, disposable browser automation
- Automatic hand-off to human review
Reliability & security
- Checkpointed, resumable orchestration
- Dual-provider AI fallback
- Least-privilege credential handling
ARCHITECTURE
Eleven stages, one human-authority checkpoint.
Postings flow through discovery, deduplication, deterministic eligibility gates, AI-assisted ranking, grounded document generation, reviewer critique, document assembly and validation, and submission safety gates — then either isolated browser automation or human review, followed by application tracking and reporting. Checkpointed state, AI-provider fallback, a credential-security boundary, and systemd service execution underpin the whole pipeline.
Full architecture write-up on GitHub ↗
ENGINEERING HIGHLIGHTS
Real problems, told honestly.
A security review catching an overbroad privilege design — before it shipped
A first design for a privileged credential-encryption operation would have granted the automation's service account a general-purpose capability well beyond what it needed. Caught on review, replaced with a minimal, single-purpose, argument-free root helper.
Interactive-session quota and process fragility
Early automation shared one interactive session's usage quota and process lifecycle; both failed for real, mid-run, more than once. Fixed by moving every stage to standalone, checkpointed processes with their own AI-provider fallback and OS-service-managed execution.
A CAPTCHA a text-only scan couldn't see
A hidden CAPTCHA widget rendered no matching visible text at all, so the original text-keyword safety scan missed it. Fixed with a second, independent DOM-level detection pass.
Five more — a killed background process, a cross-identity permission-reset bug, a browser-extension hijack, a platform-wide rate limit, and a runaway retry loop — are in the full engineering-stories write-up ↗.
SECURITY & RESPONSIBLE AI
Grounded generation. Human authority preserved.
Grounded Application Document Generation. My real experience, education, certifications, and skills are the fixed input; AI assists only with tailoring how that real material is presented to a specific posting. Generation is explicitly constrained to verified candidate information and passes through an independent automated reviewer critique before anything is finalized — a disciplined process-and-review safeguard, not a claim that fabrication is impossible, and not a deterministic fact-checker.
Human Authority at Consequential Boundaries. The platform can carry an eligible application all the way to automated submission when every deterministic gate clears — but a CAPTCHA, an MFA prompt, a security question, an ambiguous free-text question, or incomplete required information all deliberately stop automated progress and hand the fully-prepared item back to me instead. It is not, and is not presented as, fully autonomous.
Full security design on GitHub ↗ · Grounded generation, in detail ↗
TESTING & RELIABILITY EVIDENCE
Real numbers, not rounded up.
Skipped (environment-dependent)
8
Environment-dependent failures
2
Not presented as 100% passing — the two failures have a known, documented, non-functional cause. See the full testing write-up on GitHub ↗ for the exact, unrounded numbers and why.
GO DEEPER
The repository is the technical source of truth.
This page is a curated summary. The public showcase repository has the full architecture documentation, security and reliability design, all eight engineering stories, the synthetic dashboard demo you can open yourself, and the exact test evidence.