5 minutes reading time
Once I had resume-ops keeping the tailoring honest and deterministic, I immediately slammed into the next wall in the job hunt: getting reliable data out of company career pages.
If you have tried building a job aggregator in the last two years, you already know the grim truth. Server-side scraping is dead.
If you spin up a cloud VPS on Hetzner or AWS, write a clean Python script using requests or headless Chromium, and try to crawl Greenhouse, Lever, Ashby, or LinkedIn, you will get hit with Cloudflare Turnstile, Datadome fingerprinting, and hard HTTP 403 blocks within thirty minutes. You can rent "residential proxy networks", but they are expensive, painfully slow, and constantly rotating between burnt IP ranges that trip fraud detectors anyway.
The problem was that the architecture was backwards. Why are we trying to pretend to be a real human from an anonymous Linux server in Frankfurt, when a real human is already sitting right in front of a laptop running a fully authenticated browser?
Your browser already has valid TLS fingerprints, authentic cookie sessions, realistic mouse events, and an ISP-assigned residential IP.
That insight became the structural backbone of JobFoundry.
Instead of running scrapers on a server, JobFoundry inverts the relationship. The central server (a Fastify API backed by SQLite) does not scrape a single webpage. It acts as an orchestrator and task relay queue.
When a set of company career boards or search queries needs updating, the server creates scraping leases. A lightweight browser extension running on the user's machine checks in with the relay queue, leases the pending scraping tasks, and executes them directly inside active browser tabs. The extraction runs under your normal browsing profile, bypasses bot walls effortlessly, and ships the parsed job payloads back to the local ingest server.
Zero proxy fees. Zero Cloudflare bans. Zero CAPTCHA gymnastics.
From there, the server takes over the rest of the pipeline:
resume-ops engine generates a schema-validated, bullet-aligned PDF via a local LangGraph pipeline.gatepass, a local Go proxy running token-bucket rate limiting and SQLite audit logs so you never accidentally wake up to a surprise API bill.The entire system is glued together with a fast React Kanban web interface, giving you a private command center over your entire search.
The technical architecture is fun, but the real point of JobFoundry is philosophical: it is an explicit anti-doomjobbing machine.
The modern tech employment market is locked in a suicidal feedback loop. Desperate job seekers use automated bot extensions to fire three thousand generic resumes into the void every single day. Companies get inundated with thousands of applications for a single opening, ninety-nine percent of which are unqualified garbage. To cope, HR departments deploy aggressive, unfeeling algorithmic filters that auto-reject almost everyone. So candidates react by spamming even harder.
It is an algorithmic arms race where everyone loses their minds.
JobFoundry works because it rejects the volume game. It forces you into extreme selectivity. You do not apply to four hundred jobs; you let the system score five hundred listings, ruthlessly throw out four hundred and fifty of them, and focus your energy entirely on the thirty roles where you actually have deep, genuine alignment.
I used this system myself over the last several months. I applied to a remarkably small, highly filtered number of positions.
The result? I ended up receiving several legitimate, high-conviction job offers with an application volume so low it would make an aggressive LinkedIn influencer cry.
I haven't accepted any of the offers yet. Maybe that's a stupid move on my part, maybe not. I have always been stubborn about how I spend my working hours. But the tooling proved its point.
JobFoundry is open source under the AGPL-3.0 on GitHub.
This is not a career advice column, and I am not selling a coaching course. It is software born out of pure frustration with a broken market. If you are tired of the algorithmic circus and want to take your sanity back, the code is right there.
Image Credit: Adolph Menzel (1815-1905) - The Iron Rolling Mill (Modern Cyclopes) via Alte Nationalgalerie / Wikimedia Commons.