Inspiration

We noticed that every company runs the same onboarding for everyone — a senior dev and a fresher sit through identical sessions. That felt wrong. We thought, what if onboarding actually looked at your resume and figured out what you specifically need to learn? That's what we set out to build.

What It Does

You upload your resume and paste the job description. It reads both, finds what skills you have, what's missing, and what's weak — then gives you a step-by-step learning plan with resources to close those gaps before your first sprint.

How We Built It

We used React for the frontend and FastAPI on the backend. Resumes are parsed with PyPDF2, skills are pulled out using spaCy and regex, and we use sentence embeddings to catch things like "ReactJS" and "React.js" being the same skill. The match score is calculated as:

\( \text{Match \%} = \frac{|\text{Candidate Skills} \cap \text{Required Skills}|}{|\text{Required Skills}|} \times 100 \)

The skill list itself is built from O*NET and Kaggle job datasets. Everything runs locally — no expensive API calls.

Challenges We Ran Into

Getting skill extraction right was harder than expected. Simple text matching kept flagging "C" inside "React" or "CSS" inside "ACCESS". PDF resumes also come in every format imaginable — multi-column, weird fonts, scanned pages — and making the parser handle all of that took a lot of trial and error.

Accomplishments We're Proud Of

Honestly, getting the skill extraction to work cleanly. Zero false positives on our test cases. And shipping a fully working pipeline — upload resume, get a roadmap — within hackathon hours.

What We Learned

We originally planned to use Mistral-7B for everything but it was too slow for real-time use. Switching to a local embedding model was a better call. We also learned that looking at real resume data completely changes your assumptions about how people actually write about their skills.

What's Next for AI-Adaptive-Onboarding-Engine

We want to pull job descriptions directly from job boards, add a manager view to track team readiness, and connect it to actual LMS platforms so the learning plan isn't just a list — it's something you can start immediately.

Built With

Share this project:

Updates