๐ฆ Flashlight - Uncover Your Hidden Skills
Built for the Global AI Hackathon โ SAP "SkillSense" Challenge
Flashlight is an AI-powered application designed to revolutionize how we discover and validate skills. It moves beyond traditional resumes by aggregating data from multiple sources to build dynamic, evidence-based skill profiles, helping individuals answer the critical question: "What am I truly good at?
The future of work is shifting from credentials to skills, yet individuals possess a wealth of capabilities that remain undocumented or underutilized. Skills acquired through projects, open-source contributions, and informal learning often go unnoticed. This leads to missed opportunities for individuals and friction in talent matching for employers.
Flashlight tackles this by creating an intelligent system that ingests data from a user's CV, GitHub, personal portfolio, and other public profiles. It uses Large Language Models to extract both explicit and implicit skills, generating a structured, dynamic skill profile complete with confidence scores and evidence trails.
- Multi-Source Data Aggregation: Ingests data from PDFs (CVs) and public URLs (GitHub, portfolios, etc.).
- AI-Powered Skill Extraction: Uses Google's Gemini Pro to perform deep semantic analysis and identify technical skills, soft skills, and tools.
- Dynamic Skill Profiles: Generates a structured JSON output with skills, confidence levels, and direct evidence.
- Asynchronous Processing: Leverages a high-performance backend to fetch and analyze data from multiple sources concurrently for a fast user experience.
- Clean & Modern UI: A simple, intuitive interface built with React for easy CV uploading and profile analysis.
Flashlight is built with a modern, decoupled architecture. The React frontend communicates with a high-performance Python backend that orchestrates data collection and AI analysis.
| Component | Technology |
|---|---|
| Frontend | React, Vite, Axios, Tailwind CSS |
| Backend | Python, FastAPI, Uvicorn |
| AI Model | Google Gemini 2.5 Flash |
| Data Processing | PyPDF2 (for CVs), HTTPX & BeautifulSoup4 (for web scraping) |
Architecture Flow:
User UI (React) โ CV/URLs โ API (FastAPI) โ [PyPDF2, HTTPX] โ Gemini (Summarize) โ Gemini (Synthesize) โ JSON Response โ User UI (React)
To run this project locally, you will need Python 3.8+ and Node.js v18+ installed.
git clone https://github.com/your-username/Flashlight.git
cd FlashlightThe backend handles the core logic of file processing, web scraping, and AI analysis.
# Navigate to the backend directory
cd backend
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
# Install dependencies
pip install -r requirements.txt
# Create a .env file for your API key
# Create a file named .env in the /backend directory and add your key:
echo "GOOGLE_API_KEY='YOUR_GOOGLE_API_KEY_HERE'" > .env
# Run the backend server
uvicorn main:app --reloadThe backend server will now be running at http://127.0.0.1:8000.
The frontend is a React application that provides the user interface.
# Open a new terminal and navigate to the frontend directory
cd frontend
# Install dependencies
npm install
# Run the development server
npm run devThe frontend will now be available at http://localhost:5173. Open this URL in your browser to use the application.
- Upload Your CV: Drag and drop your resume in PDF format onto the upload area.
- Add Your Profiles: Fill in the optional fields with your GitHub username, portfolio URL, and any other relevant links.
- Analyze: Click the "Analyze" button to start the process.
- View Your Profile: Within seconds, your comprehensive skill profile will be displayed, showing your technical skills, soft skills, and tools, along with the evidence for each.
This project was built in under 24 hours for a hackathon, but it has immense potential. Future enhancements could include:
- Skill-Gap Analysis: Compare a user's generated profile against a job description to identify missing skills.
- Personalized Learning Recommendations: Suggest courses or projects based on identified skill gaps.
- Expanded Data Sources: Integrate with more platforms like Stack Overflow, Medium, or academic publication sites.
- Interactive Dashboard: Allow users to filter, edit, and export their skill profiles.
