Skip to content

ste1v0/atsglyph

Repository files navigation

ATS Glyph

Local-first ATS resume checker for job seekers.

License Next.js TypeScript Local-first

ATS Glyph helps you check a PDF CV against a job description, see what an ATS-style parser can read, get a practical fit score, and generate focused improvement suggestions using your own AI key.

No account. No database. No subscription. Local-first and free.

app-preview-2

What you bring

  • a PDF CV
  • a job description
  • your AI key — a free Gemini key works too

What you get

  • a quick 0–100 fit score
  • an ATS-style parser check for your PDF
  • the 4 highest-impact fixes, not a 40-page audit
  • a full CV review across 14 areas
  • a cover letter draft based on the role, company context, and your achievements
  • cleaner writing suggestions without the usual AI-sounding patterns

Who it is for

ATS Glyph is for job seekers who want to check one CV against one job before applying.

It is especially useful when you want to:

  • see whether your PDF can be parsed correctly
  • understand which job requirements your CV misses
  • improve the highest-impact parts first
  • draft a less generic cover letter
  • keep your CV and API key local-first

Privacy model

ATS Glyph is local-first:

  • no account
  • no hosted database
  • no subscription
  • your AI key is stored locally in your browser
  • optional achievement notes and usage logs stay in local files

Important: when you run AI review features, your CV, job description, rendered PDF pages, and optional achievement notes are sent to the AI provider you configure.

Check your provider’s data policy before uploading sensitive documents. Some free API providers may use submitted data to improve their models.

Why

Applying for jobs is tedious and hard.

Things that can go wrong:

  • your two, three, or four-column resume turns into soup, gradient skill bars included
  • the fit score lands your application in the red zone before a human even sees it
  • your CV is almost there, but misses one thing other candidates added
  • the role expects a cover letter, and yours says “I generated this in 12 seconds” a bit too loudly

ATS Glyph does not pretend to know every company’s hiring system. It helps you catch practical problems that often hurt applications: unreadable PDFs, missing role keywords, weak evidence, unclear positioning, and generic cover letters.

Useful background:

What it does

Quick Score

Paste CV text and a job description.

Quick Score returns one number from 0 to 100:

  • 75+ means probably worth applying with light tailoring
  • 60–74 means possible, but fix the gaps in your CV first
  • below 60 means weak fit or a missing requirement, possibly not worth the time

It scores only what is in the CV. Achievements, if specified, are only used for suggestions.

Parser check

The app renders the uploaded PDF and checks what can actually be read.

Useful for catching:

  • broken columns
  • missing sections
  • weird section order
  • icons read as nonsense
  • skill bars that say nothing
  • text trapped inside graphics

If your CV looks broken here, maybe do not feed the same version to Ashby and hope for the best.

Full Review

The app checks your CV against the job description across 14 areas.

Match

  • hard skills
  • keyword coverage
  • domain context
  • education and certificates
  • seniority and career fit

Content

  • profile positioning
  • impact metrics
  • achievement framing
  • ownership and collaboration
  • clarity and tone

Structure

  • timeline clarity
  • ATS readability
  • contact and links
  • AI readiness

You get the 4 highest-impact actions, sorted by estimated score impact.

Each action includes:

  • what is weak
  • evidence from the CV
  • what to improve
  • estimated score impact range
  • one paste-ready example to adapt

The app can use your achievement notes for better examples, but not for scoring.

Cover letter draft

The app drafts a cover letter from:

  • your CV
  • the job description
  • company context, if you add it
  • private achievements, if you add them
  • your preferred tone: informal or formal

Formal keeps the classic cover letter structure.

Informal keeps it shorter, with a quick intro, precise bullets, and a simple close.

It avoids the usual AI soup, yes, but please never send it blindly.

Achievements

You can add notes under the Achievements tab or to ACHIEVEMENTS.md.

Example:

- Reduced support queue by 30%
- Built a Telegram bot used by 50 employees
- Migrated internal scripts from X to Y

These notes help the app suggest better CV bullets and cover letter examples.

They do not affect scoring unless you actually add them to your CV.

You’ll hate this if

You want a tool that:

  • auto-applies to 500 jobs in the blink of an eye
  • rewrites your whole CV while you look away
  • promises interviews
  • tells you to keyword-stuff everything

Depending on your taste, sadly or thankfully, the app does none of that.

Tech stack

  • Next.js
  • React
  • TypeScript
  • PDF.js
  • Zod
  • OpenAI-compatible chat completions endpoint

Run locally

Install:

Then run:

git clone https://github.com/ste1v0/atsglyph.git
cd atsglyph
corepack enable pnpm
pnpm install
pnpm run dev

Open:

http://localhost:3000

Downloaded a ZIP?

Unzip it, open Terminal or PowerShell inside the folder, then run:

corepack enable pnpm
pnpm install
pnpm run dev

Add an AI key

Open the AI Endpoint tab.

For a simple Gemini setup:

  1. Create a key: https://aistudio.google.com/apikey
  2. Keep this base URL:
https://generativelanguage.googleapis.com/v1beta/openai
  1. Keep this model:
gemini-3.5-flash
  1. Paste the key in the app.

Any OpenAI-compatible chat completions endpoint can work, but Full Analysis needs a vision-capable model since it sends rendered PDF pages.

Local files

ACHIEVEMENTS.md

Optional private notes for stronger suggestions.

LLM_CALLS.json

Local usage history for LLM calls.

Both files are ignored by git.

Commands

pnpm run dev
pnpm run typecheck
pnpm run build
pnpm run start
pnpm run check

Contributing

Issues and PRs are welcome.

Before opening a PR:

pnpm run typecheck
pnpm run build

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors