4 minutes reading time
I spent a good chunk of this year looking for a job. If you haven't been on the market recently, consider yourself lucky. The job market right now is a miserable, automated wasteland. Job boards are stuffed with ghost listings, HR teams have outsourced their basic reading comprehension to algorithmic screening filters, and candidates are responding by firing thousands of AI-generated resumes into the void.
When you sit inside that meat grinder for more than three weeks, you naturally start looking at tooling. I am an engineer; my first instinct when faced with repetitive bureaucratic torture is to find software to automate it.
So I went looking through the open-source ecosystem to see what people had built. What I found was two completely opposing schools of thought, both equally broken in their own special way.
The first camp was represented by projects like career-ops. The philosophy here is brute force token gluttony. You feed it a job posting, and it spins up massive, multi-turn reasoning chains. It passes the full company profile, the 5,000-word job description, your complete background, and three separate system prompts into Claude Opus or GPT-4 for every single listing. It analyzes the company "culture", scores your spiritual alignment with their quarterly goals, and rewrites your career history from scratch.
I ran that setup for about ten days. My OpenAI dashboard looked like an electricity meter in an aluminum smelter. I burned nearly fifty dollars in API credits in a week, and what did I get for it? A stack of boilerplate cover letters that read like an eager management consultant having a nervous breakdown, followed by the exact same automated Greenhouse rejection emails I could have gotten for free.
The second camp was projects like job-ops. They recognized the token problem and swung violently in the opposite direction. They kept LLM usage to a minimum, using AI strictly for quick parsing or keyword extraction.
The economics were better, but the output was an absolute disaster. Because it was cutting corners on context and validation, the tailoring was pure hallucinated slop. It would take a listing asking for distributed systems experience and casually invent five years of Kubernetes cluster administration in my employment history. It stuffed keywords into bullet points with the subtlety of a 2004 spam blog, producing resumes that felt like they were written by a drunken auto-complete algorithm.
If you actually sent one of those resumes to a company and a human engineer somehow read it, you would look like a complete fraud within forty-five seconds of the introductory technical screen.
That was the choice available on GitHub: you could either drain your bank account paying token margins to Silicon Valley cloud providers, or you could let a cheap script hallucinate your qualifications and humiliate you in front of hiring managers.
Both tools failed because they treated a resume like a high school essay. They assumed that getting a job was a matter of generating infinite prose until an applicant tracking system got confused enough to let you through.
A resume is not an improvisational comedy routine. It is structured data. Your past employers, your graduation dates, your actual technical contributions, and your verifiable achievements are immutable facts. The only thing that ever needs tailoring is emphasis and relevance: pulling forward the three projects that actually matter for a specific role and silencing the twenty that don't.
Neither tool could do that because neither tool respected data integrity. If I wanted a system that could handle the hiring market without burning fifty dollars a week or lying about my life, I was going to have to write the parser myself.
Image Credit: Titian (c. 1488/1490-1576) - Sisyphus via Museo del Prado / Wikimedia Commons.