惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
I
InfoQ
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
量子位
博客园 - 叶小钗
月光博客
月光博客
IT之家
IT之家
G
Google Developers Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I Built a Free Resume ATS Checker (Client-Side Only, No D...
charlie-morr · 2026-04-26 · via DEV Community

charlie-morrison

Most resume ATS checkers want your email, upload your resume to their servers, or paywall the results. I built one that runs entirely in your browser.

The Problem

If you've ever job-hunted, you know the drill:

  1. Upload resume to "free" ATS checker
  2. Enter your email
  3. Get spammed forever
  4. Results are behind a paywall anyway

I wanted something that actually checks your resume against a job description — without collecting any data.

The Solution

Resume ATS Score Checker — pure HTML + JavaScript, zero backend.

Your resume text never leaves your browser. No uploads, no accounts, no tracking.

What It Checks

The tool scores your resume out of 100 across several categories:

  • Length analysis — too short or too long?
  • Contact information — email, phone, LinkedIn present?
  • Section structure — does it have Education, Experience, Skills sections?
  • Action verbs — are you using strong verbs ("implemented", "designed") vs weak ones ("helped", "assisted")?
  • Quantified achievements — numbers beat vague claims ("increased revenue 40%" > "increased revenue")
  • Formatting — bullet points, reasonable line length
  • Keyword matching — paste a job description and see which keywords from the JD appear in your resume

The Interesting Part: Keyword Matching

This is the feature that makes it actually useful. ATS systems filter resumes by keyword match. If the job description says "Python, AWS, CI/CD" and your resume doesn't mention those exact terms — you're filtered out before a human ever sees it.

The tool does a simple but effective comparison:

  1. Extracts meaningful keywords from the job description (filtering out stop words)
  2. Checks which ones appear in your resume
  3. Shows you exactly what's missing

No AI, no fancy NLP — just practical string matching that mimics what most ATS systems actually do.

Technical Details

For anyone curious about the implementation:

  • Single HTML file — no build step, no dependencies
  • ~400 lines of JavaScript — readable, no framework
  • Responsive design — works on mobile
  • Color-coded results — green/yellow/red for pass/warn/fail

The scoring weights are opinionated but reasonable:

  • Resume length: 15 points
  • Contact info: 10 points
  • Section structure: 15 points
  • Action verbs: 15 points
  • Quantified achievements: 15 points
  • Formatting: 10 points
  • Keyword match: 20 points (highest weight, because it matters most for ATS)

Why Not Just Use ChatGPT?

You could paste your resume into ChatGPT and ask for feedback. But:

  1. Privacy — your resume contains personal info. This tool processes everything locally.
  2. Consistency — AI gives different advice each time. This tool gives objective scores.
  3. Speed — instant results vs. waiting for a response.
  4. Job-specific — the keyword matcher compares against a specific JD, not generic advice.

Try It

charliemorrison.dev/resume-checker

No signup. No email. Just paste and check.

If you find it useful, I also have a Job Search AI Toolkit with 50+ prompts for interviews, salary negotiation, and networking — but the checker is completely free, no strings.


Other free tools: LinkedIn Headline Generator | AI Developer Prompts (GitHub)