Data engineering, analytics

Job-Hunt Analytics

Year
2026
Role
Solo – ETL, privacy gate, analysis, dashboard
Status
One month of real, honestly-accumulated data
PythonDuckDBSQLPlotlypytestGitHub Actions
Tracked applications
Logged assistant ops
Tests (1 skipped)
Leak paths closed pre-publish

What it is

A month of my own real job search and AI-assistant operations, the same messy markdown trackers a personal agent (JARVIS) had already been keeping since early July, parsed by a tested ETL pipeline into a queryable DuckDB database and published as an anonymised static dashboard. Zero new data collection: the data already existed, honestly accumulated as a side effect of actually job-hunting.

The privacy gate had to earn its keep

  • Role titles are not exported (re-identifiable via search), and internal topic slugs are not exported (they contain real company and person names); coarse derived categories replace both.
  • Three agents adversarially attacked the sanitisation gate beyond its own unit tests and found seven real, non-theoretical leak paths, most seriously, a hand-crafted row with an extra unquoted CSV field could smuggle a real company name past the scanner because nothing validated a row’s cell count against its header. All seven fixed and independently re-verified, not just trusted from the fix report, before any export was generated.
  • A whole-branch review after the analysis stage caught the published “as of” date silently including a future scheduled reminder rather than the last real observation, directly undercutting the project’s own honesty framing; corrected and re-verified before publishing.

The honest headline

Nine SQL analyses, seven charts, and a static dashboard, deliberately framed as descriptive rather than inferential at this sample size: every rate is published beside its raw numerator and denominator rather than dressed up as a statistic it cannot support. The headline: 0 interviews from 50 tracked applications, reported as the whole result, not buried in it.