SPARC is an AI-driven profile intelligence system that helps recruiters and HR teams instantly understand a candidate’s professional footprint by analyzing LinkedIn and GitHub profiles. It generates clear summaries, highlights strengths, and allows interactive querying through a smart RAG-based chatbot making screening faster, easier, and more accurate.
- 🔍 Profile Scraping: Extract data from LinkedIn and GitHub profiles
- 📊 AI Summary Generation: Create professional summaries using Google Gemini
- 💬 RAG Chatbot: Ask questions about the profile using LangChain and vector embeddings
- 🎯 Context-Aware Responses: Chatbot answers based on actual profile data
- 📝 Conversation Memory: Maintains chat history for follow-up questions
- Backend: Flask, Python
- AI/ML: Google Gemini, LangChain, ChromaDB
- Scraping: Selenium, Requests
- Frontend: HTML, CSS, JavaScript
- Vector Store: ChromaDB with sentence-transformers
git clone <your-repo-url>
cd SPARCpython -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activatepip install -r requirements.txtCreate a .env file in the root directory:
FLASK_SECRET_KEY=your-super-secret-key-change-this
LINKEDIN_USERNAME=your_linkedin_email@example.com
LINKEDIN_PASSWORD=your_linkedin_password
GITHUB_TOKEN=your_github_personal_access_token
GEMINI_API_KEY=your_gemini_api_keyGitHub Token:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Generate new token (classic)
- Select scopes:
repo,user
Gemini API Key:
- Visit Google AI Studio
- Create new API key
python app.pyThe application will run on http://localhost:5000
- Open your browser and navigate to
http://localhost:5000 - Enter GitHub URL (e.g.,
https://github.com/usernameor justusername) - Enter LinkedIn URL (e.g.,
https://www.linkedin.com/in/username/) - Wait for the summary to be generated
- After the summary is displayed, click "Start Chatting"
- Ask questions like:
- "What are the candidate's main skills?"
- "Tell me about their work experience"
- "What GitHub projects has this person worked on?"
- "What is their educational background?"
- "Compare their frontend and backend skills"
LinkedIn Login Issues
- Ensure correct credentials in
.env - LinkedIn may require CAPTCHA verification
- Consider using headless=False in
linkedin.pyfor debugging
GitHub Rate Limits
- Use a personal access token (not just username)
- GitHub API has rate limits (5000 requests/hour with token)
Gemini API Errors
- Check API key is valid
- Ensure you have quota remaining
- Try using
gemini-1.5-flashifgemini-2.0-flashis unavailable
ChromaDB Issues
- Delete
chroma_db_*directories if corrupted - Ensure sufficient disk space
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.