DEV Community

Cover image for How I Built Resumefy: From Job Hunt Frustration to a Google Docs & Word ATS Scorer
UX by Sarath
UX by Sarath

Posted on

How I Built Resumefy: From Job Hunt Frustration to a Google Docs & Word ATS Scorer

Body:

Two months after graduation, I was stuck. Resumes getting rejected instantly. No interviews. No feedback. Just silence.

After two months of dead ends, I realized the problem wasn't my qualifications — it was my resume. Job descriptions weren't matching what I had on paper because I wasn't tailoring for each application.

So I started tailoring manually. But here's where it got painful: I'd open my Google Doc resume, copy it, switch to ChatGPT, paste it, ask for suggestions, manually edit back in Docs, then check against the job posting. Back and forth. Back and forth. Hours wasted on every single application.

That's when I thought — why can't I just have this inside Google Docs itself?


Building it (the first version)

This was June 2025. I wasn't aware of Claude Code or any AI coding tools at the time. So I asked ChatGPT what I'd need to build a Google Docs add-on, got a list, then asked it to write the base code. I designed the UI in Figma first — colors, fonts, layout, everything — then pasted the design into ChatGPT and said "build this."

Three days later I had a working add-on. Just for myself. I had no idea you could even publish it publicly.


The coffee chat that changed everything

A few months later I had a coffee chat with a Google designer. They looked at what I built and said — you should publish this. There are a lot of job seekers who need exactly this.

So I decided to go public. And that's where the real work started.

What took me three days to build for myself took two more months to make publishable. Figuring out Google Cloud project setup, OAuth scopes, which APIs to use — Gemini vs other options, what's allowed, what's not. It was a whole rabbit hole nobody warns you about.

But I got through it.


The technical problem I didn't expect

Once it was live, I ran into a bigger issue — the scoring was broken.

The ATS score was returning the same number regardless of the job description. Keywords were completely off. The model was hallucinating.

The root cause was my prompt. It was too simple and giving the model no structure to reason through.

My fix: I switched to Gemini 2.5 Flash and enabled thinking tokens. Instead of just returning an output, the model now reasons through the scoring first, checks itself, then gives the final result. That one change made the scores accurate and consistent across different job descriptions.

It's not the flashiest technical solution — but it's cheap, fast, and actually works.


Where it is now

Resumefy is live on both:

Free to install. It scores your resume against any job description and highlights exactly which ATS keywords you're missing — right inside your doc.

I kept it free because job seekers aren't earning. I've been there. I know what it feels like to apply for 60 jobs and hear nothing back.

If you're building something similar or going through the Google Workspace publishing process, happy to answer questions in the comments.

Top comments (0)