Hey everyone, welcome back to the Data and AI
with Mukundan podcast. Today's episode, it's
close to home. It's about rejection. Not the
romantic kind. Not even the friendzone kind.
It's about that cold robotic kind. The one that
slides into your inbox uninvited. It says...
Thank you for your interest in the role at Company
X. After careful consideration, you've decided
to move forward with other candidates. Yeah,
we've all seen that. And it sucks. What if I
told you that in many cases, it wasn't even a
person who rejected you? And I'm sure by now
you know how rejections work in companies. But
I just wanted to give you a deeper dive of how
an AI -powered ATS... Resume Checker works. Today,
I'm telling you the story of how I built an AI
-powered ETS resume checker, why I built it,
how it failed my own resume, and what I learned
that changed everything. Stay with me because
if you've ever submitted a resume and heard nothing
back, this episode is for you. Let's talk about
the pain of rejection. It's easy to brush it
off when you're told, yeah, it's not personal.
But you and I both know, it feels personal. Especially
when you spend hours tailoring your resume. Editing,
rewriting, rewording, optimizing, reading the
job description 20 times. Even using those resume
scan tools. And still, nothing. For us the most,
it's just that it's not just the no. It's the
silence. It's the lack of explanation, the mystery.
Did someone read my resume? Did it get lost?
Was it filtered out? Did I get ghosted by an
algorithm? Now that one question, the last one,
kept me up. And one night, I just decided to
stop wondering. I decided to actually investigate.
What even is an ATS? Now let's break down the
villain of this story, the ATS. The ATS stands
for Applicant Tracking System. And it's not a
new thing. It's been there for a while now. But
it's gotten more powerful, more widely used,
and more automatic than ever before. And here's
how it works. Now imagine a digital gatekeeper.
It doesn't care how hard you've worked. It doesn't
care about your GPA or how many side projects
you've done. It scans your resume for structure,
keywords, format, alignment. It reads it like
a robot. Because it is a robot. Your bullet points,
if not phrased the right way, may never trigger
its internal scoring system. Now, if your file
isn't readable, if your text is embedded in a
weird format, if your font is non -standard,
I mean, just toss your resume aside. And the
worst part? You'll never know what happened.
So, you know, one of these nights I did hit a
wall. And like I said, I did hit a wall on that
particular night. It was after getting these
rejection mails time and again. And I remember
one in particular. I'd done everything right.
The resume looked great. Or in my opinion, of
course. But then clear formatting, tailored language,
keywords from the job post, and then came the
gold robotic rejection. Something in me snapped.
I opened my laptop, spun up a new folder. I said,
all right, let's just build this thing. My goal
was to build a tool that mimics the ETS. Not
just any checker. a tool that thinks like the
robot. So here's what I used to do this. Python,
the programming language of my choice. Streamlit,
an amazing Python -based library for the front
end. So to have like a cool user interface and
very easy to build one, Streamlit is a great
option to do this. OpenAI for the natural language
insights. scikit -learn for similarity scoring
so similar scikit -learn is if you're not familiar
already has been used widely for machine learning
applications in python so that is a great python
based library then pypdf2 and docx2 text so pypdf2
is pypdf2 and docx to text is d o c x 2 t x t
for file parsing and i wanted to recreate the
gatekeeper this digital gatekeeper but also add
something it doesn't have feedback so the ats
rejects you but it doesn't really tell you anything
specific and That's why I wanted to build that
feedback process in. I didn't want to just check
a resume. I wanted to explain what's missing,
offer actionable improvements, give people a
fighting chance. And then I tested it on my own
resume. I uploaded my resume, pasted the job
description, and clicked run. The result? A cosine
similarity of 43 .43%. A GPT -4 score of 85.
Verdict. Fail. Cosine similarity is just a similarity
score of my resume and the job description. Right?
Just seeing how far off it was. And GPT -4 score
is nothing but the scoring system from OpenAI.
GPT -4 is the GPT being used by OpenAI. And verdict
was failed. Yep, my own resume that I'd used
multiple times for many a jobs had failed. Now,
not because that I didn't have the experience,
but because the ATS didn't just see it that way.
It flagged missing keywords. It said Google Analytics
4, retail, site measurement. All those were missing.
I had the experience. I just didn't speak the
language. I hadn't translated my story into machine
readable success. And that was the aha moment.
So here's what I learned. Lesson one, don't assume
your resume speaks for itself. I thought my resume
was great. Environment not getting these interview
calls. But it wasn't that. i just assumed wrong
that would be my take from this is i wouldn't
assume that my resume speaks for itself lesson
two keyword alignment matters more than clever
phrasing so you're not just talking about the
keywords that you have in your resume but you
also need to align it to the job description
right lesson three is Formatting structure and
even word order changes how an ATS scores you.
So whenever you're writing a resume, you need
to pay attention to your formatting, to your
structure, is your resume flowing through smoothly,
and even how your words are flowing in order.
I realized I needed to be more intentional. I
swapped collaborating with product teams to Led
EB tests with product and marketing teams using
SQL and BigQuery. I had done this. It's just
something that wasn't getting translated correctly.
Right? I explicitly listed GA4, which was missing.
And I added quantifiable wins. I tailored it
tightly to the job. Yeah, I'm sure by now, if
you've worked on your resume ever, you would
know that they want a more quantifiable... And
maybe a couple of occasions where it was missing
for me. But I think what I changed was I tailored
those quantifiable wins more to the job. Right?
More customized to the job. And then I ran it
again. Pass. That was the result. Same story,
told differently. So it wasn't the rejection
that broke me. This is... It was the feeling
of being invisible. That my work, my sweat, my
2am sprint to hit that deadline meant nothing
to a machine. But here's the truth. If you're
not tuning your resume to pass the gatekeeper,
you may never reach human eyes. That's not fair,
but it is real. You don't need to rewrite your
life story. You just need to translate it. Translate
it for the machine. So the human on the other
side can finally see you. And that's what we
aim to achieve when we are sending our resume
across. And I didn't want to make it as a story,
but this is how it is, right? And if this story
resonated with you, try the tool. And it is linked
in the show notes. Upload your resume, add a
job description, get your score. And make changes
accordingly. You don't need to start over. You
need to just tune the signal. Well, thanks for
listening to another episode of Data and AI with
Mukundan. If you like the story, share it, subscribe,
drop a review. I'll be back soon with another
real -world AI journey. Until then, stay curious
and stay seen.