Inspiration
The job market is increasingly competitive, yet the feedback loop for job seekers remains broken. Most applicants never find out exactly why their resume didn't make the cut. We wanted to build a tool that removes the guesswork from career development. SkillMap was inspired by the need for a data-driven "GPS for your career"—moving away from generic advice and towards personalized, actionable roadmaps that bridge the specific gap between where a candidate is and where they want to be.
What it does
SkillMap is a comprehensive AI ecosystem that helps users land their dream roles through: Intelligent Resume Parsing: Extracts skills and experience from PDF resumes using NLP. Precision Gap Analysis: Compares user profiles against specific job descriptions using TF-IDF similarity to identify missing technical and soft skills. Dynamic Learning Roadmaps: Generates a week-by-week learning plan with curated resources, tailored specifically to the user's identified gaps. AI Mock Interviewer: A real-time, interactive interviewer module that tests users on the very skills they are learning, providing instant feedback. Progress Tracking & Readiness Metrics: A visual dashboard that monitors learning progress and calculates a "Readiness Percentage" to help users know when they are truly ready to apply.
How I built it
I built SkillMap using a modern, scalable stack: Frontend: Built with Next.js (App Router) and TypeScript for a seamless, type-safe user experience. We used Tailwind CSS and Lucide icons for a premium, responsive UI. Backend: A robust FastAPI (Python) server handles all heavy lifting, from PDF processing to AI logic. Database & Auth: Supabase (PostgreSQL) provides real-time data persistence and secure authentication. NLP & ML Engine: spaCy (en_core_web_md) for Named Entity Recognition (NER) to identify "SKILL" and "TECHNOLOGY" entities. scikit-learn for TF-IDF vectorization and cosine similarity calculations. NetworkX for topological sorting to ensure learning steps follow a logical dependency (e.g., learning Python before Django). AI Integration: Leveraged OpenRouter and LangChain patterns for advanced LLM-driven roadmap generation and mock interviews.
Challenges I ran into
PDF Extraction: Handling the wild diversity of resume formats (columns, tables, unique fonts) required fine-tuning our extraction logic to ensure no skills were missed. Entity Disambiguation: Distinguishing between common words and technical skills in various contexts was a challenge we solved by training custom NLP patterns. State Management: Syncing the real-time progress updates from the FastAPI backend to the Next.js dashboard while maintaining a consistent state across Supabase took careful architectural planning. Dynamic Pathfinding: Building a roadmap that isn't just a list, but a logical sequence based on skill dependencies, required deep diving into graph theory.
Accomplishments that we're proud of
Automated Pipeline: I successfully automated the entire "Resume -> Gap -> Roadmap" workflow, making it feel instantaneous for the user. Readiness Scoring: Developed a custom algorithm that combines initial match scores with real-time learning progress to give users a tangible metric for their job-readiness. AI Interactivity: Implementing the AI Interviewer module with WebSocket support for a truly interactive experience was a major technical milestone.
What I learned
NLP Nuances: I gained deep insights into how modern LLMs and traditional NLP libraries like spaCy can work together to achieve high accuracy. Full-Stack Sync: Learned the importance of choosing a database like Supabase that excels at handling real-time updates across multiple services. User-Centric Design: Realized that career data can be overwhelming; focusing on "one step at a time" in the roadmap UI was key to a good user experience.
What's next for SkillMap - AI Powered Gap Analyser
Direct Job Integration: Integrating with APIs like LinkedIn or Indeed to fetch job descriptions automatically. Community Roadmaps: Allowing experts to "verify" or contribute to generated roadmaps for even higher quality content. Voice Interviewing: Moving from text-based mock interviews to full voice-to-voice interaction using modern speech-to-text models. Certificate Verification: Allowing users to link their completed certifications to automatically update their SkillMap profile.
Built With
- css
- fastapi
- html5
- networkx
- next.js
- pdfplumber
- python
- recharts
- scikit-learn
- spacy
- sql
- tailwind
- typescript
- vitest
Log in or sign up for Devpost to join the conversation.