reverseATS: find the most relevant job postings
How I built a tool to find the most relevant job postings for a given resume

Finding a co-op is hard. Finding the right co-op is even harder.
As a University of Waterloo student, I've spent countless hours inside WaterlooWorks - our school's co-op job portal - scrolling through thousands of postings, unsure which ones were actually worth my time. Some jobs felt like a shot in the dark. Others looked promising but yielded no response. The whole process felt like I was playing darts blindfolded.
It got me thinking: recruiters use Applicant Tracking Systems (ATS) to screen candidates before they ever see a resume. These systems do keyword matching, similarity scoring, and automatic filtering. But as applicants, we're flying blind. We don't get to see how well we match a posting. We don't get a score. We don't even get feedback.
So I decided to flip the system.
Introducing ReverseATS
ReverseATS is a Chrome extension that analyzes every job listing on WaterlooWorks and ranks them based on how closely they match your resume. It's a reverse-engineered ATS - one that works for students instead of recruiters.
Upload your resume, visit any page on WaterlooWorks, and the extension quietly scans the jobs, compares them against your experience using keyword similarity, and injects a match score next to each posting. No buttons. No clutter. Just seamless signal in a sea of noise.
Why I Built It
The core problem I wanted to solve was fit - helping students answer the question: What jobs am I most likely to get? It's not about filtering only the “best” jobs. It's about visibility. If I knew I was a 92% match for Job A but only a 31% match for Job B, I could make better decisions. I could prioritize jobs I had a shot at. I could tailor my applications more effectively. I could stop wasting time.
ReverseATS brings that insight to the surface. It makes the job hunt feel less like roulette and more like chess.
The Technical Journey (and a Mid-Project Meltdown)
ReverseATS started as a simple scraping tool. WaterlooWorks used to have predictable, REST-style URLs and static HTML content. I used Python, BeautifulSoup, and a bunch of requests logic to pull job descriptions and analyze them. It was crude but effective.
Then - disaster.
About 15 days into development, just as I was wrapping up, WaterlooWorks pushed a full UI redesign. The entire front-end architecture changed. No more simple HTML. No more direct URLs. Instead, job data was now fetched through a hidden API gated by dynamically generated action tokens.
I had to reverse-engineer their new system. This meant: • Digging into their front-end JavaScript bundle • Locating the function responsible for generating the token • Parsing obfuscated API calls to understand how requests were signed • Extracting session cookies and mimicking the browser's authenticated state
In short, it went from a weekend project to a deep-dive into front-end forensics.
Eventually, I rebuilt the extension from scratch. This time, instead of HTML scraping, ReverseATS: 1. Authenticates via the user's browser session (grabbing cookies and tokens after login) 2. Fetches job listings in batches using WaterlooWorks' hidden API 3. Parses job descriptions and metadata 4. Applies a keyword similarity algorithm between your resume and each job 5. Injects match scores directly into the UI - no extra clicks, no context switching
All of it happens live, on the page you're already on.
Why It Matters
If you're a Waterloo student, you've probably felt the fatigue of applying to dozens of jobs with no clear strategy. ReverseATS gives you a compass. It doesn't guarantee a job - but it does help you navigate smarter.
My hope is that it saves students time, reduces stress, and helps people apply more strategically. The co-op system has its challenges, but that doesn't mean we have to go in blind.
What's Next?
There are a lot of potential improvements: resume parsing from PDF, smarter similarity metrics, a dashboard for tracking matches over time, maybe even automated cover letter generation based on matched keywords.
But for now, I'm just excited to get this into the hands of other students.
If you want to try ReverseATS, you can download it here.