Is AI language showing up in Philippine job ads yet? A small scrape comparing job postings on Kalibrr from before ChatGPT existed against a current sample, cross-checked against PSA employment data.
Live site: ralphptorres.github.io/jobshift
Writeup: docs/writeup.pdf
Postings mentioning explicit AI terms ("AI," "ChatGPT," "AI tools") rose from 2% to 5% (7/317 archived, 15/278 current; Fisher's exact test, p = 0.0495). A broader "automation" bucket (9% to 10%) is not statistically significant, consistent with that bucket being diluted by pre-ChatGPT martech and RPA terminology. See the writeup for the full method, two real methodology corrections made along the way, and honest limitations.
src/- scraping and analysis scripts (see below for the pipeline order)data/- scraped postings and computed results (JSON)fig/- charts used in the writeupdocs/- the GitHub Pages site, plus the writeup source (writeup.typ) and compiled PDF
Requires uv. Runs the full pipeline end to end:
scrape.py- current + archived (search-page) postings from Kalibrrscrape_detail.py- archived individual Kalibrr job-detail pages from the Wayback Machine, to grow the pre-ChatGPT sample past what search-page snapshots alone givemerge_archived.py- merges the two archived pulls abovepsa.py- PH employment-by-industry annual series from PSA's PXWeb APIanalyze.py- tags postings against the AI-term listsbuild_evidence.py- builds the evidence table (every posting that matched an AI-adjacent term)chart.py- generates the writeup/site charts
uv run src/scrape.py
uv run src/scrape_detail.py
uv run src/merge_archived.py
uv run src/psa.py
uv run src/analyze.py
uv run src/build_evidence.py
uv run src/chart.pyTo view the site locally:
uv run src/serve.pydata/current.json,data/archived.json- deduplicated, cleaned Kalibrr postings (seesrc/scrape.pyandsrc/scrape_detail.pyfor exclusion rules: BPO staffing-agency spam and non-Philippine postings are filtered out)data/archived_detail.json- the raw individual-job-permalink pull, before merging with the search-page archived setdata/results.json- term-match counts and totals, produced bysrc/analyze.pydata/psa_employment.json- PSA Labor Force Survey data by industry group, produced bysrc/psa.pydata/ai_hits.json- every posting that matched an AI-adjacent term, with snippets; powers the evidence table on the site
MIT, see license.txt.