I Built a Resume ATS Tool After Applying to 15–20 Jobs a Day

Published: (January 2, 2026 at 12:05 AM EST)
4 min read
Source: Dev.to

Source: Dev.to

Job hunting broke my patience before it broke my confidence

During my final year, job hunting became a full‑time job. Every day looked the same:

  • Open career portals
  • Read job descriptions
  • Tailor resume
  • Apply
  • Repeat

I was applying to 15–20 companies per day, across different roles and domains. Each application required a slightly different resume: change the summary, reorder skills, rewrite bullet points, remove things that “don’t match this role.” It wasn’t difficult work; it was mentally draining work. After the 40th rewrite I realized something was wrong.

The real problem wasn’t my resume

Most people assume resumes fail because:

  • formatting is bad
  • skills are missing
  • experience is weak

That’s only part of the truth. The bigger issue is relevance. A resume that works for one role can quietly fail for another, even if the candidate is qualified, the experience is solid, and the skills are there.

Why? Because ATS systems don’t evaluate potential, they match text. If your resume doesn’t map cleanly to the job description, it doesn’t get rejected loudly—it just disappears silently. That’s the worst kind of rejection.

ATS rejection illustration

So I built something out of frustration

I got tired of manually editing resumes—not because I couldn’t do it, but because it felt like solving the same problem every day. I wrote a small script (no UI, no product vision) that runs inside my VS Code terminal and does three things:

  1. Takes my resume
  2. Takes a job description
  3. Generates a tailored version aligned to that role

It wasn’t pretty, but it saved time and, more importantly, it worked. Eventually, I got selected.

The obvious question

After I got hired I asked myself: “If this helped me, why is everyone else still suffering through this manually?” Most people either use one generic resume everywhere or spend hours rewriting it without knowing what actually matters. Neither approach works consistently. That’s why I decided to turn the script into a proper tool.

What the MVP actually does

I’m intentionally keeping the MVP small and focused.

The tool

  • Analyzes your resume against a job description
  • Identifies missing or under‑represented skills
  • Adjusts content to improve ATS compatibility
  • Keeps the resume readable for humans

The tool does not

  • Promise guaranteed interviews
  • Blindly stuff keywords
  • Redesign your resume into flashy templates
  • Pretend hiring is “easy with AI”

The goal is simple: make it easier to submit a relevant resume every time.

Why ATS optimization matters (whether we like it or not)

ATS systems aren’t smart, and they’re not evil either—they’re just filters that help companies handle volume, not quality. That means:

  • Great candidates can get filtered out
  • Average candidates can get through if they match better

This tool isn’t about gaming the system; it’s about communicating clearly within its constraints. Humans still make the final decision; ATS just decides who gets seen.

ATS filter illustration

Things I learned while building and testing

A few patterns showed up quickly:

  • People struggle more with what to remove than what to add
  • Overloaded resumes perform worse than focused ones
  • Trying to fit every role reduces clarity
  • Manual tailoring leads to inconsistency and fatigue

The hardest part of job hunting isn’t skill; it’s decision fatigue. That’s what I’m trying to reduce.

Why I’m building this in public

Job hunting is isolating. You don’t know:

  • if you’re doing things right
  • if others are struggling the same way
  • if the system is broken or it’s just you

Building in public helps:

  • Validate real pain points
  • Get honest feedback
  • Avoid building imaginary features

I’m not trying to “disrupt hiring.” I’m just trying to make one painful step less painful.

What’s next (and what’s not)

For now:

  • Testing with real resumes
  • Improving accuracy
  • Keeping the scope intentionally small

I’m resisting the urge to add features unless users clearly ask for them. Shipping a boring, useful product is better than building a shiny, confusing one.

Final thought

Most resumes don’t fail because people aren’t capable. They fail because relevance is hard to maintain manually, every single day. If you’ve ever rewritten your resume at 2 AM wondering “Does this even matter?”—this project exists because of that feeling.

Still building. Still learning. Still shipping.

Back to Blog

Related posts

Read more »

Why Prefer Textfiles? (2010)

Article URL: http://textfiles.com/uploads/textfiles.txt Comments URL: https://news.ycombinator.com/item?id=46459425 Points: 9 Comments: 2...

Starting My Journey into C# .NET

Introduction I haven’t mastered Python yet, but I’ve decided to begin studying C and .NET as my next step. While attending university, I explored several progr...