AI-assisted operations pipelineCareerOS
A typed career pipeline that collects public ATS listings, normalizes and deduplicates them, applies eligibility rules, and isolates optional AI evaluation and notifications.
System routeRead left to right
- 01Public ATS
- 02Normalize
- 03Eligibility
- 04Evaluate
- 05Notify
01 / Context and problemThe operational problem
Job listings arrive through different public ATS formats. Useful automation needs bounded collection, deterministic normalization, evidence-aware evaluation, and duplicate-safe notifications.
OwnershipBuilt the FastAPI surface, public ATS collectors, bounded HTTP client, normalization and eligibility services, persistence and migrations, provider boundaries, security checks, tests, and CI.
02 / Technical challengeWhat made it non-trivial
External listing text is untrusted and inconsistent, while optional AI and notification providers must remain testable without credentials or live calls.
Collectors use documented public ATS endpoints only.
The system does not sign in, bypass CAPTCHA, or submit applications.
OpenAI and Discord require user-provided credentials and are optional.
03 / System designThe architecture decision
Collectors target documented public Greenhouse, Lever, and Ashby endpoints through a response-bounded client. Deterministic cleanup, fingerprints, and eligibility rules run before an injectable AI evaluation boundary and deduplicated notification service.
01Python02FastAPI03asyncio04SQLAlchemy05Alembic06OpenAI API07Pytest08GitHub Actions
04 / ReliabilityDesigned for the failure path
- 01
Timeout, redirect, response-size, and retry limits
- 02
Deterministic source and cross-source deduplication
- 03
Prompt sanitization and evaluation budgets
- 04
Cached successful evaluations
- 05
Fake providers and blocked unmocked network calls in tests
- 06
Secret scanning and sanitized logs
05 / Result and evidenceWhat this system proves
A local, documented backend pipeline with migrations, dry-run flows, demo evidence, security boundaries, and quality checks. No frontend or hosted deployment is claimed.
Tayyab can add AI to an operational system without making the model an untestable or unsafe center of gravity.
06 / LessonsWhat carries forward
01Deterministic filtering should reduce cost and ambiguity before AI evaluation.
02External text must be treated as untrusted input.
03Provider interfaces make AI and notifications testable without live secrets.