Methodology & Calculations
We believe in total transparency. Our engine is designed to emulate the exact pipelines used by enterprise Applicant Tracking Systems (Workday, Greenhouse, Lever). Here is exactly how we score and optimize your resume.
1Resume Parsing (PyMuPDF & python-docx)
When you upload a file, we don't just extract raw text. We use industry-standard libraries (PyMuPDF for PDFs and python-docx for Word documents) to extract text while maintaining spatial layout and formatting blocks. If the ATS can't read a multi-column layout, neither will we—giving you an accurate representation of your parsing success.
2Keyword Extraction (TF-IDF + Normalization)
We process the Job Description using NLP (Natural Language Processing) to remove stop words and normalize text (lemmatization). We then apply a TF-IDF (Term Frequency - Inverse Document Frequency) algorithm to identify the most statistically significant keywords in the job posting, separating them into Hard Skills, Soft Skills, and Tools.
3Semantic Similarity & ATS Score Formula
We don't just look for exact matches. We use embeddings and Cosine Similarity to detect when you've used variations of a skill.
Scoring Weights
- Keyword Match (60%): Presence of high-value TF-IDF terms.
- Formatting/Readability (20%): Clean extraction without garbled characters.
- Experience Depth (20%): Action verbs and quantifiable metrics detected in bullet points.
4AI Rewrite Generation (LLM)
When we suggest a rewrite for a bullet point, we feed the underlying Large Language Model a strict prompt containing:
1. Your original bullet point context.
2. The specific missing keyword.
3. A strict constraint to never fabricate experience or metrics.
This guarantees that the suggestions are highly ethical, simply reframing your existing experience using the vocabulary the ATS is programmed to catch.
Privacy & Data Handling
Your resume data is highly sensitive. We do not use your resume to train our models. If you are an anonymous user, your resume is processed entirely in-memory and discarded immediately after the HTTP request finishes. If you create an account to save history, your data is securely stored in Supabase with Row Level Security (RLS) ensuring that only you can access your documents.