RJ DowellPERSONAL PORTFOLIO
← All projects

PROFESSIONAL WORK · Recruiting data & AI

Job market intelligence

Took over public job-feed scrapers and turned their output into a research queue and digest, with a confidence level for each facility match.

Took over & extendedProductionDocumented October 6, 2026

4,139postings tracked · Sep 15–Oct 6, 2026

My contribution

Inherited and hardened vendor scrapers, consolidated their outputs, and built the research dashboard and digest workflow.

Tools
Python · Scrapers · PostgreSQL · Authenticated dashboard · Scheduled digests

How it works

  1. Collect postings from multiple sources and normalize their identities.
  2. Resolve likely facilities, apply geographic checks, and classify evidence strength.
  3. Reuse known research before requesting additional enrichment.
  4. Publish a review queue and a digest covering the intended reporting window.

Decisions that mattered

A guess isn’t a verified facility

Confirmed, likely, unverified, and unknown matches stay distinct. Finding a contact doesn’t raise confidence in the facility match.

Geography can veto a plausible match

Wrong-city checks prevent a similar name from being promoted into a misleading lead.

Schedule changes must preserve coverage

Moving the digest later to accommodate delayed upstream jobs also required contiguous reporting windows, avoiding gaps and duplicate coverage.

Repair inherited failure paths

Work included surfacing swallowed SDK errors, resolving a browser-driver dependency regression, and repairing durable state handling.

Results

The system tracked 4,139 postings between September 15 and October 6, 2026. The production history also covers dashboard access controls and source-confidence corrections.

Scope & limits

Posting volume measures collection coverage. People validate research contacts before they’re used.

Related projects

Next projectCandidate matching prototype