Selected work

03 · AI-enabled matching workflow

JobPilot

A transparent pipeline for matching resumes to live job postings, explaining fit, and producing reviewable application drafts.

Candidate signalSemantic match
Resume
skills + constraints
+
Jobs
schema + source
Ranked
explanations
Score componentsMissing skillsApply URL status
Role

Portfolio project - product workflow, retrieval and ranking pipeline, analytics, and application UI.

Context

Built as a BAX-423 final project with a distinction between live company postings and reproducible offline benchmark data.

Tools

Python · Streamlit · NLP · TF-IDF · Embeddings · pandas · scikit-learn · Greenhouse API

Executive summary

A Streamlit application combining public Greenhouse job ingestion, profile parsing, retrieval, ranking, feedback, analytics, and deterministic resume drafting.


Problem

Job search data is noisy: postings can be stale or duplicated, fit explanations are weak, and tailoring application materials is time-consuming.

Approach

  1. 01Ingest public Greenhouse postings and normalize them into a shared job schema.
  2. 02Extract skills from a resume or profile and retrieve candidates using embeddings when available, with TF-IDF fallback for reliable local demos.
  3. 03Apply hard filters, weighted soft scoring, and plain-language explanations; preserve source labels instead of inventing apply links.
  4. 04Capture accept, reject, and skip feedback; expose analytics, persona tests, and CSV/Excel exports.
02

Data & methodology

Data sources

  • Greenhouse public job-board API
  • Bundled offline benchmark sample
  • User-provided resume or profile text

Methods

  • Schema normalization and deduplication
  • Embedding or TF-IDF retrieval
  • Multi-stage ranking and score explanations
  • Feedback-weight updates and Precision@10 simulation
Workflow
InputCollectionAnalysisOutput

Local benchmark notes distinguish live postings from offline evaluation data and do not claim fake apply URLs.

Outputs & findings

Key outputs

  • Ranked recommendation cards
  • Fit explanations and skill gaps
  • Tailored-resume draft
  • Analytics and downloadable results

What the work demonstrates

  • The documented local validation snapshot contained 424 Greenhouse listings with 424 valid apply links.
  • Four persona checks passed their three-item checklists; the feedback loop ran end to end, while Precision@10 remained flat in the narrow live sample.

Limitations

  • Posting availability, board tokens, salary parsing, and sponsor inference can change or fail.
  • Generated resumes are deterministic drafts that require human review.
  • The local feedback simulation is not evidence of production recommendation performance.