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 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), up 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. 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.