Skip to content

Latest commit

 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PathFinder: Social Activity Job Matcher

PathFinder is a job recommendation web application that allows users to upload their social media activity documents (such as LinkedIn data exports in PDF format) and receive personalized job suggestions. The system leverages modern web technologies and natural language processing to match user profiles to relevant job roles using semantic similarity.

Tech Stack

Layer Technology
Frontend Next.js, React, Tailwind CSS, Axios
Backend FastAPI, Python
NLP Model Sentence Transformers (all-MiniLM-L6-v2)
Data Pandas, Numpy, scikit-learn
PDF Parsing PyMuPDF

Features

  • Upload social media activity documents (PDF)
  • Automatic text extraction and encoding
  • Semantic similarity matching with precomputed job embeddings
  • Top 5 job recommendations with similarity scores
  • Responsive, modern UI
  • Fetch live job details for the top recommendation using Apify API

Setup Instructions

Live Job Data Integration

PathFinder uses the Apify Indeed Scraper to fetch real-time job listings matching the top recommendation. To use this feature:

  1. Create an account at Apify
  2. Get your API token
  3. Add the token to your backend .env file
  4. The system will automatically fetch live job listings including:
    • Position details
    • Company information
    • Salary (when available)
    • Application links
    • Job type and location

Backend

  1. Clone the repository
    git clone https://github.com/AchiraNadeeshan/social-activity-job-matcher.git
    cd social-activity-job-matcher/backend
  2. Create and activate a virtual environment
    python -m venv venv
    .\venv\Scripts\Activate.ps1   # PowerShell
    # or
    .\venv\Scripts\activate.bat   # CMD
    # or
    source venv/bin/activate       # Unix/MacOS
  3. Install dependencies
    pip install -r requirements.txt
  4. Add your Apify API key Create a .env file in the backend directory:
    APIFY_API_TOKEN=your_apify_api_key_here
    
    Do not commit .env to version control.
  5. Run the API
    uvicorn main:app --reload
    The API will be available at http://127.0.0.1:8000

Frontend

  1. Install dependencies
    cd ../frontend
    npm install
    # or
    yarn install
  2. Run the development server
    npm run dev
    # or
    yarn dev
    Visit http://localhost:3000

Recommendation Display Structure

  • The top recommendation is displayed separately with live job details fetched from Apify.
  • The next 4 recommendations are shown in a 2x2 grid below the top result.

Model Explanation

  • Embedding Model: sentence-transformers/all-MiniLM-L6-v2
  • Similarity Metric: Cosine Similarity
  • Process:
    • User PDF is parsed and text extracted
    • Text is encoded into embeddings
    • Compared against precomputed job role embeddings
    • Top 5 jobs returned based on semantic similarity
    • Top job recommendation includes live job data fetched from Apify

Team Roles

Name Registration No Team Role
Achira Nadeeshan 22UG1-0723 Team Lead, Full Stack Development, Presentation, Documentation
H.M.K.S. Dedunupitiya 22UG1-0812 NLP Model, Presentation, Documentation
Pasindu Nimsara 22UG1-0627 Frontend Development, System Architecture Analysis
K.P. Dilhara 22UG1-0390 Documentation Lead
T. Siriwardhana 22UG1-0126 Data Scientist, System Architecture Analysis
H.L.V. Prasanjana 22UG1-0521 DevOps Engineer
U.V.C.T. Jayathilaka 22UG1-0380 Full Stack Developer
S.P.A.S. Senarathne 22UG1-0345 UI/UX Designer
Eranga Ekanayake 22UG1-0076 Research Analyst
Dewmina Bandara 22UG1-0804 QA Engineer

License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). You are free to use, share, and adapt the code for non-commercial purposes with proper attribution.

Contact

For issues or contributions, contact Achira Nadeeshan or open an issue on GitHub.

About

PathFinder is a job recommendation web application that allows users to upload their social media activity documents (such as LinkedIn data exports in PDF format) and receive personalized job suggestions.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages