Skip to content

ARYADEEP10/ResearchBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ResearchBridge πŸ”¬

AI-powered research collaboration platform connecting Worcester-area university researchers β€” Clark University, WPI, and College of the Holy Cross.

ResearchBridge Vite Anthropic License

What is ResearchBridge?

ResearchBridge helps researchers find complementary collaborators β€” not people doing the same thing, but people who have what you need. Type a plain-language description of your research and what you're looking for. The AI matches you with researchers across Clark, WPI, and Holy Cross based on keyword analysis and AI-powered synergy scoring.

Core Features

  • πŸ” AI-powered keyword matching β€” extracts topics from plain-language research descriptions and matches against a real researcher database
  • 🀝 Complementary collaboration discovery β€” finds researchers who have what you need (datasets, methods, equipment, expertise)
  • πŸ’¬ In-app messaging β€” direct message matched researchers
  • πŸ“° Research feed β€” share updates, datasets, and collaboration calls
  • πŸ”” Notifications β€” connection requests, likes, follows
  • πŸ”– Bookmarks β€” save posts for later
  • 🌐 Network tab β€” browse all 150 researchers across 3 universities
  • πŸ‘€ Researcher profiles β€” detailed view with resources, match score, and synergy explanation

Universities Covered

University Color Researchers
Clark University 🟒 Green 50 faculty (IDs 1–50)
WPI πŸ”΄ Crimson 50 faculty (IDs 51–100)
College of the Holy Cross 🟣 Purple 50 faculty (IDs 101–150)

Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • An Anthropic API key (optional β€” app works without it using keyword-only matching)

Installation

# 1. Clone the repo
git clone https://github.com/YOUR_USERNAME/researchbridge.git
cd researchbridge

# 2. Install dependencies
npm install

# 3. Set up environment variables
cp .env.example .env
# Edit .env and add your Anthropic API key (optional)

# 4. Start the dev server
npm run dev

The app runs at http://localhost:3000

Build for Production

npm run build
npm run preview

Project Structure

researchbridge/
β”œβ”€β”€ public/
β”‚   └── favicon.svg              # ResearchBridge logo
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main.jsx                 # React entry point
β”‚   β”œβ”€β”€ ResearchBridge.jsx       # Main application component
β”‚   └── data/
β”‚       └── researchers.js       # 150 real Worcester-area researchers
β”œβ”€β”€ index.html                   # HTML template
β”œβ”€β”€ package.json                 # Dependencies
β”œβ”€β”€ vite.config.js               # Vite configuration
β”œβ”€β”€ .env.example                 # Environment variable template
└── .gitignore                   # Git ignore rules

Architecture

ResearchBridge is a frontend-only React application. There is no separate backend server.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            Browser (React SPA)           β”‚
β”‚                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Keyword    β”‚    β”‚  Researcher    β”‚  β”‚
β”‚  β”‚  Matching   β”‚    β”‚  Database      β”‚  β”‚
β”‚  β”‚  Engine     β”‚    β”‚  (150 entries) β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                               β”‚
β”‚         β–Ό                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                        β”‚
β”‚  β”‚  Anthropic  │◄── Optional API call   β”‚
β”‚  β”‚  Claude API β”‚    for AI synergy text β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

How Matching Works

  1. Keyword extraction β€” Parses the user's query into single words and multi-word phrases (e.g., "human computer interaction", "machine learning", "causal inference")
  2. Keyword scoring β€” Matches extracted keywords against each researcher's keywords, abstract, field, and resources arrays. Multi-word phrases score higher (18pts vs 10pts)
  3. Chip bonuses β€” Selected resource chips (Dataset, Computing, IRB Approval, etc.) add additional score
  4. AI enrichment β€” If an API key is present, Claude generates a specific one-sentence synergy explanation for each match. Otherwise, the app falls back to keyword-based descriptions
  5. Results β€” Top 5 matches shown with match score (0–100), matched keyword tags, and synergy explanation

Environment Variables

Variable Required Description
VITE_ANTHROPIC_API_KEY Optional Anthropic API key for AI synergy descriptions. App fully works without it.

⚠️ Never commit your .env file. The .gitignore already excludes it. For production, set environment variables in your hosting platform's dashboard.


Deployment

Vercel (Recommended)

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel

# Set your API key in Vercel dashboard:
# Settings β†’ Environment Variables β†’ VITE_ANTHROPIC_API_KEY

Or connect your GitHub repo at vercel.com for automatic deployments on every push.

Netlify

  1. Connect your GitHub repo at netlify.com
  2. Set build command: npm run build
  3. Set publish directory: dist
  4. Add environment variable VITE_ANTHROPIC_API_KEY in Site Settings β†’ Environment Variables

Researcher Data

The src/data/researchers.js file contains 150 real faculty members from:

  • Clark University β€” Geography, Biology, Psychology, Physics, Chemistry, Economics, Environmental Science, History, Mathematics
  • WPI β€” Computer Science, Biomedical Engineering, Chemical Engineering, Mechanical Engineering, Robotics, Mathematical Sciences, Data Science, Electrical Engineering
  • Holy Cross β€” Biology, Chemistry, Physics, Mathematics & CS, Psychology, Economics, Sociology & Anthropology, Political Science, History, Environmental Studies

Each researcher entry follows this schema:

{
  id: 1,
  name: "Hamed Alemohammad",
  initials: "HA",
  role: "Associate Professor Β· Geography",
  uni: "Clark",           // "Clark" | "WPI" | "HolyCross"
  field: "Remote Sensing / GIS",
  bg: "#D8F3DC",          // Avatar background color
  fg: "#1A3A2A",          // Avatar text color
  abstract: "Director of Clark's Center for Geospatial Analytics...",
  resources: ["Satellite imagery archive", "Geospatial Analytics Center", ...],
  keywords: ["remote sensing", "satellite", "GIS", "machine learning", ...],
  connections: 198,
  posts: 24,
  papers: 41,
}

Sources: Names, titles, and departments verified from public faculty pages at clarku.edu, wpi.edu, and holycross.edu. Research abstracts synthesized from documented public research areas (April 2025).

Adding More Researchers

To add a researcher, append an entry to the RESEARCHERS array in src/data/researchers.js following the schema above. The keyword matching engine will automatically include them in search results.


Tech Stack

Layer Technology
Framework React 18
Build tool Vite 4
Styling CSS-in-JS (template literal styles)
Fonts Google Fonts (Fraunces, DM Sans, DM Mono)
AI Anthropic Claude claude-sonnet-4-20250514
State React useState / useRef (no Redux)
Icons Inline SVG

Contributing

  1. Fork the repo
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

Adding Researchers

The most impactful contribution is verifying and expanding the researcher database. If you know a Clark, WPI, or Holy Cross researcher not listed:

  1. Add their entry to src/data/researchers.js
  2. Verify name, role, and department from their official university faculty page
  3. Write a 2–3 sentence abstract based only on their documented public research areas
  4. Submit a PR

License

MIT License β€” see LICENSE for details.


Acknowledgments

Built as a student project at Clark University, Worcester MA. Researcher data sourced from public faculty directories at Clark University, WPI, and College of the Holy Cross.


ResearchBridge β€” connecting Worcester's research community.

About

LinkedIn for researchers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors