Core Capabilities
Keel is structured as a flat package of small, single-purpose Python modules with zero third-party dependencies, running on Python 3.10 and later. It supports the full end-to-end pre-submission job pipeline:
Discovery: Uses predefined search query playbooks and sweep prompts to locate relevant open job postings in your target career lanes.
Scoring: Runs a 100-point fit scoring model with banded action rules to rank each discovered role for suitability to your profile.
Materials: Generates tailored resumes and cover letters strictly using only the verified data from your saved personal profile.
Answer bank: Serves as your single canonical source of form answers and hard gate rules, so the system never adds information you did not explicitly enter.
Prescreen: Parks any job posts with unmappable required questions, relocation, travel, or unconfirmed commitment requirements to your manual review queue, rather than auto-generating filler responses.
ATS detection: Identifies which applicant tracking system platform a job post uses, and runs capability probes to confirm if direct submission is possible.
Apply loop: Compiles fully verified launch packets for roles marked as ready to apply, with full documentation of every field value, validation rule, and execution contract for your submission layer.
Verification retry: Periodically re-checks parked leads for active liveness, promotes live postings back to the queue, and removes dead, inactive postings.
Telemetry & analytics: Maintains an append-only event log, tracks submission outcomes, and supports pluggable email intake to log employer responses.
Dashboard: Renders a self-contained static HTML dashboard from your local queue and submission ledger, no external server required.
Key Limitations
Keel does not actually submit job applications. The public open-source distribution only builds validated launch packets, and stops at the submission executor contract boundary. The full automated submission execution layer is kept private to avoid ATS platform detection and blocking at scale. Keel never invents missing qualifications or makes up experience details to match a job description; any gaps between your profile and the role requirements are explicitly flagged for your review.
Honest Automation Contract
The pipeline is bound to four non-negotiable rules defined in the project documentation:
Truthfulness gates: All requirements your profile cannot support are logged as gaps, and never filled with invented content.
Explicit confirmation: A submission is only marked as completed when explicit, verifiable confirmation of that submission exists.
Fail closed: Any unverified posting, unmappable form question, or missing required attestation is parked for manual review, and no automation proceeds with that item.
No fingerprinting surface: No code in the public repository contains logic that helps ATS vendors identify or block automated application tools.
Quick Start Workflow
You can get the system running in approximately 5 minutes:
Clone the repository or download the latest release zip file.
Run ./setup.sh to initialize your working copy, then edit the applicant profile and answer bank files to contain your actual verified career details.
Run the test suite to confirm all modules work correctly on your system.
Process your discovered job postings with the fit scoring script.
Seed eligible ready-to-apply roles into the standard queue, then run the apply loop to generate your first validated launch packet.
Build the local HTML dashboard to view your full pipeline status.
Project License
All public code and documentation is released under the permissive Apache 2.0 open-source license.
Comments