# I built an AI tool that tells you exactly what's missing from your resume before you apply

> Source: <https://dev.to/giottopham/i-built-an-ai-tool-that-tells-you-exactly-whats-missing-from-your-resume-before-you-apply-1abl>
> Published: 2026-07-08 08:37:08+00:00

Every time I applied to a job, I'd stare at a JD and a resume side by side, trying to guess which keywords mattered and which gaps would actually come up in the interview. I built **CareerReady** to do that comparison for me, and then let me practice the exact gaps it found.

**Live:** [career-ready.site](https://career-ready.site)

**Repo:** [GiottoPham/dev-career-ready](https://github.com/GiottoPham/dev-career-ready)

Biết mình thiếu gì. Luyện đúng chỗ. Tự tin phỏng vấn.Know your gaps. Practice right. Interview with confidence.

**Live:** [career-ready.site](https://career-ready.site)

CareerReady helps developers prepare for job interviews. Paste a job description and upload your CV — the AI analyzes your skills against the JD, surfaces matched/missing skills with CV quick tips, and generates a mock interview covering the gaps.

| Module | Description |
|---|---|
Skill Analyzer |
Paste or upload a JD (PDF/DOCX) + upload CV (PDF) or enter skills manually. AI outputs matched skills, missing skills (with priority), and CV quick tips. |
Mock Interview |
Two modes — Project Deep Dive and Technical Quiz — generated from your CV/JD analysis. Answer via text or voice; AI scores the session and gives feedback with a full transcript. |
Dashboard |
Recent analyses, mock interview history, and score tracking across sessions. |

Note: there is currently no learning-roadmap generation feature — the Skill Analyzer surfaces gaps…

The interesting part wasn't the AI call, it was making the *waiting* feel honest. The analyze pipeline is a few real steps — parsing the CV/JD, validating the JD is actually a job description (so someone can't paste garbage and burn a Gemini call), uploading files, then the actual skill-gap analysis — and I stream each step's status to the frontend over SSE instead of showing a generic spinner. If step 1 fails, the user sees *that* step fail, not a blank error.

`/api/*`

so auth cookies stay same-origin across the two hostsIt's free to use at [career-ready.site](https://career-ready.site). I'd genuinely appreciate feedback, especially on whether the missing-skills output feels accurate, and whether the mock interview questions feel like something you'd actually get asked.

If you want to poke at the code, it's open on [GitHub](https://github.com/GiottoPham/dev-career-ready).
