Career Ops
Hiring broke in a way you can measure. The average open role gets more than 300 applications now, up from about 100 in 2021. AI made applying almost free. It did nothing for the people who have to read them.
Since applying faster is what caused the pile-up, Career Ops goes the other way. It never writes or submits anything. What it does is cut down how many roles are worth your time in the first place.
Every morning it reads about twelve thousand postings across 103 boards, throws away almost all of them for almost nothing, and leaves a handful worth reading properly. That much is easy to build, and easy to trust for about a week.
Then it quietly starts lying to you. A rule written in March stops matching the mail that arrives in September, nothing errors, and the dashboard still looks perfectly healthy. Mine filed a live interview invitation as a routine acknowledgement.
So most of the work went into making it doubt itself. There are 886 real emails I
labeled by hand that every change has to clear, and a command called
drift that goes back through everything already stored and reports
where the data and the rules that produced it have come apart. I can tell you what
it still gets wrong. Most of these can't, because they were demoed once and never
measured again.
Fixes travel backwards too. Repairing a rule repairs a year of old records rather than just the next email, so the history gets more accurate the longer it runs. Which is the same reason I wouldn't trust a dashboard nobody has reconciled against the source in six months.
$ careerops corpus checked 886: 886 agree, 0 drift, 0 regressions $ careerops drift OK event type OK title without a role -- event role: 1 OK outreach-only application OK unread pay band OK flat scoring signal OK unapplied alias 468 stored "Operational Excellence Program Manager" derived "Program Manager"
Both of those are actual output. The one open finding is staying open, because the stored title happens to be the better of the two.
It doesn't fix the real problem, and nothing on the candidate's side can. The bottleneck is how many humans can read. The hard bugs all came down to one thing: software saying something untrue with total confidence and being believed. Most of the work was teaching it to admit when it doesn't know.
Application volume: Ashby, 100M+ submissions. Interview-rate decline: ZipRecruiter 2026 talent acquisition survey.
Demo Synthetic data. Every company, role and application below is invented.
Filter, sort, open any row.
Take it if it's useful. There's a two-minute path with no credentials, and a full setup that reads your Gmail locally. Nothing leaves your machine. Steps are in the README.
View on GitHub