Skip to content

Latest commit

 

History

History
129 lines (95 loc) · 3.58 KB

File metadata and controls

129 lines (95 loc) · 3.58 KB

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.