โ† Home

Portfolio project ยท Python / AI / Cloud

AI-Powered Job Search Agent

In ProgressLocal MVP: October 23, 2026Cloud target: October 30, 2026

A Python application designed to retrieve job opportunities, compare descriptions against an applicant's resume and preferences using an LLM, and produce a ranked, explainable HTML report.

Project Overview

The agent will accept a PDF or DOCX resume and job-search preferences, collect job listings from supported sources, normalize and deduplicate the results, evaluate fit using a large language model, and create a report containing scores, explanations, gaps, and links to apply.

Delivery approach: Phase 1 is a locally executed MVP. Phase 2 evaluates AWS and GCP and targets a cloud-hosted release. Dates below are targets, not completed claims.

Proposed Solution Architecture

InputsResume + preferences
DiscoveryDice MCP / Adzuna API
Data processingNormalize + deduplicate
AI evaluationLLM fit + evidence
OutputRanked HTML report

Architecture shown is the target workflow. Cloud hosting and LLM scoring are not yet claimed as implemented.

LLM-based job fit evaluation

Planned evaluation includes required skills, relevant experience, responsibilities, seniority, preferred qualifications, and career alignment. Scores will be accompanied by evidence and missing qualifications. Hard constraints such as location or work arrangement will be assessed separately.

Cloud architecture โ€” Phase 2

An architecture spike will compare AWS and GCP on deployment simplicity, operating cost, security, logging, secrets management, and suitability for a small Python application. The decision and deployment design will be documented in an architecture decision record (ADR).

Technical Feasibility Spikes

Investigation Finding Disposition
Dice MCP Initial test successfully returned 10 job postings. Spike complete Candidate source
Adzuna API Initial API retrieval succeeded, including searches for Nashville and Atlanta. Spike complete Candidate source
ZipRecruiter MCP Initial integration encountered error -32603 / HTTP 429. Spike complete Deferred
LLM scoring Prompt design, structured responses, quality and cost to be evaluated. Planned
AWS vs. GCP Hosting and operational architecture comparison. Planned

Architecture decisions are tracked in ADR-001; cloud hosting will receive a separate decision record.

Work Status

Completed

  • Initial Dice MCP feasibility test
  • Initial Adzuna API feasibility test
  • ZipRecruiter MCP investigation and deferral
  • Initial architecture decision documentation (ADR-001). ADRs and other documentation are found in the GitHub repository

In Progress

  • Normalized job model design
  • Source adapters and data validation
  • Local MVP architecture and implementation planning

Planned

  • Resume extraction and LLM fit evaluation
  • Deduplication and ranked HTML report
  • Local MVP testing and release
  • Cloud architecture spike, deployment, and operational testing

Delivery Principles

  • Separate verified results from planned capabilities
  • Document tradeoffs and test findings
  • Keep code and setup instructions reproducible
  • Protect resume data, secrets, and API credentials

Development Roadmap & Milestones

Target date Deliverable Acceptance / evidence
Oct 13โ€“16 Job model, adapters, normalization Dice and Adzuna represented in a shared Python model
Oct 17โ€“19 Resume parsing and AI matching prototype Structured LLM assessments with scores, evidence and gaps
Oct 20โ€“21 Ranked HTML report Local end-to-end report with application URLs
Oct 22 Local integration testing Test results, fixes and error-handling checks
Oct 23 Phase 1 โ€” Local MVP v0.1 Validated local run; reserve 2โ€“3 hours for README, setup guide, sample output and release notes
Oct 24โ€“25 Cloud evaluation and ADR AWS/GCP tradeoffs, architecture diagram and selected approach
Oct 26โ€“27 Cloud implementation Packaged app deployed to development environment
Oct 28 Cloud testing Integration, secrets, logging, security and defects checked
Oct 29 Documentation and portfolio update Reserve 3โ€“4 hours for deployment guide, ADRs, diagram, lessons learned, README and site log
Oct 30 Phase 2 โ€” Cloud release v0.2 Final validation, release notes, GitHub release and portfolio closeout

Development Log

This log records observed progress; the roadmap above contains future targets. Update entries as milestones are verified.

Date Update Status
Oct 4โ€“10, 2026 Initial job-source feasibility work: Dice and Adzuna returned results; ZipRecruiter deferred after errors. ADR-001 prepared. Completed
Oct 13, 2026 Job model and adapter development scheduled to begin. In progress / verify
Oct 16, 2026 Job normalization checkpoint. Planned
Oct 19, 2026 First end-to-end LLM matching checkpoint. Planned
Oct 23, 2026 Local MVP and documentation. Planned
Oct 29, 2026 Technical documentation and portfolio update. Planned
Oct 30, 2026 Cloud release and closeout. Planned

Source Code & Documentation

The public GitHub repository contains the source code, README, setup instructions, architecture decisions, and release documentation updated as the project progresses.

View GitHub repository: github.com/atenciop/job-search-agent

Download source: GitHub's Code โ†’ Download ZIP

Parts of this portfolio content were developed with assistance from AI and reviewed for accuracy.