📖 Project Story

💡 Inspiration

As a student at GGITS Jabalpur, I witnessed 5000+ students facing a critical problem every placement season: "Am I ready for that Software Intern role?"

Students would spend hours comparing their skills against job descriptions, unsure if their resumes showcased the right competencies. Many talented peers missed opportunities simply because they didn't know which skills to highlight or what gaps to fill. This uncertainty costs careers.

I asked myself: What if AI could analyze your entire academic journey in 15 seconds and tell you exactly where you stand?

That's when SkillMap AI was born — a tool that transforms resumes into actionable insights using Google's cutting-edge technology.


🎯 What It Does

SkillMap AI is your AI-powered career readiness coach that:

  1. 📄 Extracts skills, certifications, and education from PDF resumes
  2. 🧠 Analyzes your profile against target roles using Google Gemini 2.5 Flash
  3. 📊 Visualizes readiness scores with interactive Google Charts (gauge + donut charts)
  4. 🎯 Identifies skill gaps with personalized recommendations

Input: Upload your resume
Output: Live skill graph + 0-100 readiness score + actionable gaps ("Learn Docker", "Add CI/CD projects")


🛠️ How I Built It

Tech Stack

  • Backend: Flask (Python 3.13) with RESTful API architecture
  • AI Engine: Google Gemini 2.5 Flash API for intelligent skill analysis
  • Visualization: Google Charts API (gauge + donut charts)
  • OCR: PyPDF2 for text extraction from resumes
  • Frontend: Vanilla JavaScript with drag-drop upload

Architecture

Key Implementation Steps

  1. PDF Processing: Built OCR service with PyPDF2 fallback (initially tried PaddleOCR but hit numpy compatibility issues with Python 3.13)
  2. Gemini Integration: Crafted optimized prompts with 4096 token output limit, implemented robust JSON parsing with regex for handling malformed responses
  3. Visualization: Integrated Google Charts with color-coded gauge (red/yellow/green/blue zones) and donut chart for skill distribution
  4. API Design: Created async job processing with unique job IDs to handle multiple concurrent analyses

🚧 Challenges I Faced

Challenge 1: Numpy Compatibility Crisis

Problem: PaddleOCR (my initial OCR choice) threw RuntimeError: module compiled against ABI version 0x1000009 but numpy is 0x2000000
Solution: Pivoted to PyPDF2 with graceful fallback handling. Learned the importance of dependency compatibility in production systems.

Challenge 2: Gemini API Model Naming

Problem: Got 404 errors with gemini-1.5-flash and gemini-pro models
Solution: Used curl to list available models via Google's API, discovered gemini-2.5-flash was the correct endpoint for v1beta

Challenge 3: Response Truncation

Problem: Gemini responses were cutting off mid-JSON, causing Unterminated string parsing errors
Solution: Increased maxOutputTokens from 2048→4096 and simplified prompts to be more concise. Added regex-based cleanup: re.sub(r',(\s*[}\]])', r'\1', json_str) to handle trailing commas

Challenge 4: API Key Security

Problem: Accidentally pushed app_config.py with exposed API key to GitHub
Solution: Completely rewrote git history using Remove-Item .git -Recurse -Force, created clean repository, added comprehensive .gitignore

Challenge 5: Mock Data Trap

Problem: System kept returning 75% score for all resumes (mock data instead of real analysis)
Solution: Updated prompt with explicit instruction: "IMPORTANT: Calculate actual score based on the resume. DO NOT use the example score of 85." This forced Gemini to perform real analysis


📚 What I Learned

Technical Skills

  • Google Gemini API: Mastered prompt engineering, learned how token limits affect response quality, understood v1beta vs v1 API differences
  • API Design Patterns: Implemented async job processing with polling endpoints instead of long-running requests
  • Error Handling: Built resilient systems with fallback mechanisms (PyPDF2 fallback, mock analysis fallback)
  • Security Best Practices: Git history rewriting, environment variable management, API key rotation

Hackathon Skills

  • Rapid Prototyping: Built full-stack app in <48 hours from concept to deployment
  • Problem Validation: Talked to 20+ GGITS students to validate the pain point before coding
  • Google Technology Integration: Learned to leverage multiple Google APIs (Gemini + Charts) for maximum impact

Soft Skills

  • Persistence: Hit 5+ critical bugs but debugged each with systematic logging and testing
  • Documentation: Wrote comprehensive README and pitch deck for judges and users
  • Time Management: Prioritized MVP features over nice-to-haves to meet hackathon deadline

🎓 What's Next for SkillMap AI

Immediate Enhancements (Post-Hackathon)

  • Firebase Authentication: Multi-user support with profile history
  • Google Analytics: Track which skills are most commonly lacking at GGITS
  • ATS Optimization: Suggest resume formatting improvements for Applicant Tracking Systems

Long-Term Vision

  • Multi-language support for regional language resumes
  • Job marketplace integration (Naukri, LinkedIn) for instant application readiness checks
  • Campus partnerships with 100+ colleges across India
  • AI-powered skill roadmaps with course recommendations (Coursera, Udemy)

Business Model

  • Freemium: 3 free analyses/month, unlimited for ₹99/month
  • B2B SaaS: Sell to college placement cells at ₹50,000/year
  • Affiliate revenue: Earn commissions from recommended courses

🙏 Acknowledgments

  • Google Gemini Team: For the incredible 2.5 Flash model that powers intelligent analysis
  • Google Charts Team: For making data visualization so accessible
  • GDG on Campus GGITS: For organizing TechSprint 2025 and inspiring student innovation
  • My Peers: 20+ GGITS students who tested prototypes and gave honest feedback

🏆 Why SkillMap AI Deserves to Win

  1. Real Problem: Solves actual pain for 5000+ GGITS students (validated through surveys)
  2. Google Tech Excellence: Deeply integrates 2 Google technologies (Gemini + Charts), not just surface-level usage
  3. Production-Ready: Fully working app with error handling, fallbacks, and security best practices
  4. Scalable Impact: Can expand to 1000+ colleges across India
  5. Technical Innovation: Creative prompt engineering to extract structured data from unstructured resumes

Built with ❤️ for TechSprint 2025 | GitHub | Demo Video

Share this project:

Updates