SkillBridge is an advanced web platform that leverages AI to analyze your skillset through resume upload, identifies skill gaps with market requirements, and generates personalized learning roadmaps with downloadable PDF reports. Built with modern technologies and powered by Google's Gemini AI.
- π€ Resume Upload & Analysis: Upload PDF/DOCX resumes for AI-powered skill extraction
- π€ AI-Powered Analysis: Google Gemini integration for intelligent resume parsing
- π― Target Career Matching: Specify desired career paths for personalized recommendations
- π Skill Gap Analysis: Compare current skills with industry requirements
- πΊοΈ Personalized Roadmaps: AI-generated learning paths with phases and milestones
- π PDF Export: Download professional roadmap reports
- π Interactive Dashboard: Visualize progress and skill development
- β‘ Async Processing: Celery-powered background tasks for scalable performance
- π Real-time Status Updates: Polling-based status checking for long-running operations
- π¨ Modern UI: React-based responsive interface with TailwindCSS
- π± Multi-Frontend Support: Both Vite and CRA-based frontend implementations
- π§ Robust Backend: Flask-based REST API with comprehensive error handling β MVP
SkillBridge is a web platform that analyzes a userβs current skillset (via manual input or resume upload), compares it with real-time job market requirements, and generates a personalized Skill Gap Report with recommended learning resources.
- π Skill Input: manual entry or CV upload
- π§ NLP Skill Extraction from uploaded CVs
- π Job Data Loading: mock job postings with in-demand skills
- π Skill Gap Analysis: compare user skills with market needs
- π― Recommendations: tutorials/courses for missing skills
- π Dashboard: visualize owned vs missing skills
skillbridge/
β
βββ frontend/ # Vite + React frontend
β βββ public/
β βββ src/
β β βββ components/
β β β βββ Dashboard/
β β β βββ UploadForm.jsx
β β β βββ SkillChart.jsx
β β βββ pages/
β β β βββ Dashboard.jsx
β β β βββ UploadResume.jsx
β β β βββ Profile.jsx
β β βββ services/
β β β βββ api.js
β β βββ App.jsx
β βββ package.json
β βββ tailwind.config.js
β
βββ superfrontend/ # CRA + React alternative frontend
β βββ public/
β βββ src/
β β βββ components/
β β βββ pages/
β β β βββ LandingPage.jsx
β β β βββ UploadResume.jsx
β β β βββ RecommendedSkills.jsx
β β β βββ Roadmap.jsx
β β β βββ Dashboard.jsx
β β β βββ Profile.jsx
β β βββ hooks/
β β βββ styles/
β β βββ axiosConfig.js
β βββ package.json
β βββ tailwind.config.js
β
βββ backend/ # Flask + Celery backend
β βββ app/
β β βββ __init__.py
β β βββ routes/
β β β βββ analysis.py # Resume upload & analysis
β β β βββ skills.py # Skill recommendations
β β β βββ roadmap.py # Roadmap generation & PDF
β β β βββ profile.py # User profiles
β β β βββ jobdata.py # Job market data
β β βββ services/
β β β βββ ai_service.py # AI integration layer
β β β βββ gemini/ # Google Gemini integration
β β β βββ nlp.py # Natural language processing
β β β βββ resume_parser/ # Resume parsing utilities
β β βββ models.py # SQLAlchemy database models
β β βββ tasks.py # Celery async tasks
β β βββ celery_app.py # Celery configuration
β β βββ utils.py
β βββ uploads/ # Resume file storage
β βββ instance/ # SQLite database files
β βββ requirements.txt
β βββ run.py
β βββ celery_worker.py # Celery worker startup
β βββ test_api.py # API test suite
β βββ SETUP_INSTRUCTIONS.md # Backend setup guide
β βββ PDF_IMPLEMENTATION.md # PDF generation docs
β
βββ database/
β βββ schema.sql # Database schema
β
βββ docs/
β βββ api_endpoints.md # Complete API documentation
β βββ SkillBridgeUi/ # UI documentation
β
βββ README.md
βββ package.json # Root package configuration
βββ eslint.config.mjs # ESLint configuration
βββ Style.css # Global styles
| Layer | Technology |
|---|---|
| Frontend | React 18/19, Vite/CRA, TailwindCSS |
| Backend | Flask 3.1, Flask-RESTful, Flask-CORS |
| Database | SQLite (dev) / PostgreSQL (production) |
| AI/ML | Google Gemini API, spaCy, NLTK |
| Async | Celery 5.3, Redis 5.0 |
| PDF Gen | WeasyPrint, Jinja2 Templates |
| Auth | JWT (planned), OAuth (planned) |
| Testing | Jest, React Testing Library |
| Deployment | Docker (planned), AWS/Render |
| Endpoint | Method | Description |
|---|---|---|
/api/v1/upload-resume |
POST | Upload resume with target career |
/api/v1/status/{analysis_id} |
GET | Check analysis processing status |
/api/v1/skills/{analysis_id} |
GET | Get AI-recommended skills |
/api/v1/confirm-recommendations |
POST | Confirm skill selection & preferences |
/api/v1/roadmap/status/{job_id} |
GET | Check roadmap generation status |
/api/v1/roadmaps/{roadmap_id} |
GET | Get complete learning roadmap |
/api/v1/roadmaps/{id}/generate-pdf |
POST | Generate PDF roadmap |
/api/v1/pdf-status/{pdf_job_id} |
GET | Check PDF generation status |
/api/v1/download-pdf/{pdf_job_id} |
GET | Download generated PDF |
- Upload Resume β 2. AI Analysis β 3. Select Skills β 4. Generate Roadmap β 5. Download PDF
See docs/api_endpoints.md for complete API documentation.
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Setup environment variables
cp .env.example .env
# Edit .env and add your GEMINI_API_KEYRequired Environment Variables
FLASK_ENV=development
DATABASE_URL=sqlite:///skillbridge.db
GEMINI_API_KEY=your_gemini_api_key_here
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/01. Start Redis (Required for Celery)
# Ubuntu/Debian
sudo apt install redis-server && redis-server
# macOS
brew install redis && brew services start redis
# Docker
docker run -d -p 6379:6379 redis:alpine2. Start Celery Worker (Terminal 1)
cd backend
celery -A app.celery_app worker --loglevel=info3. Start Flask API (Terminal 2)
cd backend
python run.pyOption 1: Vite Frontend (Recommended)
cd frontend
npm install
npm run devOption 2: CRA Frontend
cd superfrontend
npm install
npm startEnvironment Variables
# frontend/.env or superfrontend/.env
VITE_API_URL=http://127.0.0.1:5000/api/v1
REACT_APP_API_URL=http://127.0.0.1:5000/api/v1-
Resume Upload & Parsing
- Upload PDF/DOCX resume with target career goal
- Google Gemini AI extracts skills, experience, and profile data
- Async processing with real-time status updates
-
Intelligent Skill Analysis
- AI compares current skills with target career requirements
- Generates confidence scores and difficulty assessments
- Provides realistic learning timelines
-
Personalized Roadmap Generation
- Creates multi-phase learning paths
- Includes specific goals, resources, and milestones
- Estimates time commitments and prerequisites
-
Professional PDF Reports
- Download beautifully formatted roadmap PDFs
- Includes complete learning plan and resource links
- Professional layout suitable for career planning
SkillBridge features a modern, responsive user interface designed for optimal user experience across all devices. Below are screenshots of key application pages:
Clean, professional landing page introducing SkillBridge's core value proposition
Intuitive drag-and-drop resume upload with target career selection
Real-time status updates during AI analysis with progress indicators
AI-generated skill recommendations with confidence scores and difficulty levels
Comprehensive learning roadmap with phases, timelines, and resource recommendations
User progress tracking with analytics and skill development visualization
Secure user authentication and profile management interface
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Modern Aesthetics: Clean, professional interface using TailwindCSS
- Accessibility: WCAG compliant with proper contrast and keyboard navigation
- Interactive Elements: Smooth animations and intuitive user interactions
- Dark/Light Themes: Adaptive themes for user preference (planned)
Explore the complete UI experience with our interactive mockups:
- Landing Page Demo
- Resume Upload Flow
- Loading Experience
- Skill Selection Interface
- Roadmap Visualization
- Dashboard Overview
- Authentication Flow
{
"user_profile": {
"name": "John Doe",
"experience_level": "Entry Level",
"current_skills": ["Python", "SQL", "Git"]
},
"recommended_skills": [
{
"skill_id": "sk_001",
"name": "Flask",
"confidence": 0.85,
"difficulty": "Intermediate",
"estimated_hours": 40
},
{
"skill_id": "sk_002",
"name": "React",
"confidence": 0.92,
"difficulty": "Intermediate",
"estimated_hours": 60
}
]
}{
"roadmap": {
"title": "Python Developer Learning Path",
"total_weeks": 16,
"phases": [
{
"name": "Foundation Phase",
"duration_weeks": 4,
"goals": [
{
"title": "Master Flask Framework",
"resources": ["Flask Mega Tutorial", "Official Documentation"],
"estimated_hours": 40
}
]
}
]
}
}- Resume upload and AI-powered analysis
- Google Gemini integration for skill extraction
- Personalized learning roadmap generation
- PDF export functionality
- Async processing with Celery
- Comprehensive REST API
- Dual frontend implementations (Vite + CRA)
- Professional UI with TailwindCSS
- User authentication and profiles
- Progress tracking and analytics
- Enhanced AI recommendations
- Mobile responsiveness improvements
- Real-time job market data integration
- LinkedIn/Indeed API connections
- Social features and mentor matching
- Gamification and achievement system
- Advanced analytics dashboard
- Multi-language support
cd backend
python test_api.py # Complete API test suitecd superfrontend
npm test # React component testsdocs/api_endpoints.md- Complete API documentationbackend/SETUP_INSTRUCTIONS.md- Backend setup guidebackend/PDF_IMPLEMENTATION.md- PDF generation systembackend/app/services/gemini/README.md- Gemini AI integration
- Team SkillBridge β AI-Powered Career Development Platform
- Current Branch:
feature/improved-backend-for-super-frontend - Repository: SkillBridge
- Frontend: React 18/19 + TailwindCSS + Vite/CRA
- Backend: Flask 3.1 + Celery + Redis
- AI: Google Gemini API + spaCy + NLTK
- Database: SQLite (dev) + SQLAlchemy
- PDF: WeasyPrint + Jinja2
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.