Skip to content

SIMRAN719/SPARC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SPARC - Social Profile Analysis & Resource Companion

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.

Features

  • 🔍 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

Tech Stack

  • Backend: Flask, Python
  • AI/ML: Google Gemini, LangChain, ChromaDB
  • Scraping: Selenium, Requests
  • Frontend: HTML, CSS, JavaScript
  • Vector Store: ChromaDB with sentence-transformers

Installation

1. Clone the Repository

git clone <your-repo-url>
cd SPARC

2. Create Virtual Environment

python -m venv venv

# On Windows
venv\Scripts\activate

# On macOS/Linux
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Setup Environment Variables

Create 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_key

Getting API Keys:

GitHub Token:

  1. Go to GitHub Settings → Developer settings → Personal access tokens
  2. Generate new token (classic)
  3. Select scopes: repo, user

Gemini API Key:

  1. Visit Google AI Studio
  2. Create new API key

Usage

1. Start the Flask Application

python app.py

The application will run on http://localhost:5000

2. Analyze Profiles

  1. Open your browser and navigate to http://localhost:5000
  2. Enter GitHub URL (e.g., https://github.com/username or just username)
  3. Enter LinkedIn URL (e.g., https://www.linkedin.com/in/username/)
  4. Wait for the summary to be generated

3. Chat with the Bot

  1. After the summary is displayed, click "Start Chatting"
  2. 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"

Troubleshooting

LinkedIn Login Issues
  • Ensure correct credentials in .env
  • LinkedIn may require CAPTCHA verification
  • Consider using headless=False in linkedin.py for 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-flash if gemini-2.0-flash is unavailable
ChromaDB Issues
  • Delete chroma_db_* directories if corrupted
  • Ensure sufficient disk space

License

APACHE 2.0

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

About

SPARC is an AI-driven profile intelligence system that helps to understand a candidate’s professional footprint by analyzing LinkedIn and GitHub profiles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors