Skip to content

maxdcmn/pmatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pmatch : connect with the right researchers

Built during a 24-hour hackathon

Reaching out directly to professors and researchers is often far more effective than applying through portals. pmatch scrapes the web for institutes, finds the right people, and interactively matches your profile to theirs to support impactful cold emails.

  • Search semantically with PostgreSQL and pgvector
  • Auto-detect CV vs Research Papers
  • Scrape profiles automatically from university directories
  • Match researchers using cosine similarity
  • Generate personalized emails with GPT-4o

Contributors

Screenshots

Project Structure

pmatch/
├── frontend/                 # Next.js frontend application
│   ├── src/app/              # App Router pages
│   ├── src/components/       # shadcn/ui primitives & custom components
│   ├── src/hooks/            # Client-side hooks
│   └── src/lib/              # API client and shared utilities
└── backend/                  # FastAPI service & data scraper
    ├── app.py                # FastAPI entrypoint
    ├── db/                   # Postgres/pgvector data access helpers
    ├── utils/                # LLM orchestration & embeddings
    ├── user_info/            # CV & paper parsing pipelines
    ├── scraper/              # Researcher scraping scripts
    ├── goatedscraper/        # Improved scraper
    ├── kth_matcher/          # KTH-specific researcher matching
    ├── fake_data/            # Sample PDFs for local testing
    └── docker-compose.yml    # Local pgvector-enabled Postgres

Installation

Frontend

  1. Install dependencies:

    cd frontend
    pnpm install
  2. Start the development server:

    pnpm dev
  3. Open http://localhost:3000 in your browser.


Backend

  1. Spin up the pgvector-enabled Postgres database:

    cd backend
    docker compose up -d
  2. Install Python dependencies:

    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
  3. Copy the sample environment file and provide API keys:

    cp .env.example .env
    # Fill in OPENAI_API_KEY, TAVILY_API_KEY, OPENALEX credentials, etc.
  4. Run the FastAPI server:

    uvicorn app:app --reload
  5. Visit http://localhost:8000/docs for API docs.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •