Skip to content

ericaezhou/Assemble_AI

Repository files navigation

Assemble AI

A discovery tool for research conferences that helps researchers connect with others working on similar topics.

Features

  • Onboarding Form: Simple profile creation with research areas, interests, institution, and bio
  • Smart Recommendations: Get matched with researchers based on shared research areas and interests
  • Search Functionality: Search for researchers by name, institution, interests, or research areas
  • Profile Display: View detailed profiles of other researchers

Tech Stack

  • Frontend: Next.js with TypeScript
  • Backend: Node.js with Express
  • Database: Supabase
  • Styling: Tailwind CSS

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm

Installation

  1. Clone the repository and navigate to the project directory:
cd Assemble_AI
  1. Install backend dependencies:
npm install
  1. Install frontend dependencies:
cd client
npm install
cd ..

Running the Application

You can run both the backend and frontend simultaneously:

npm run dev

Or run them separately:

Backend (runs on port 5000):

npm run server

Frontend (runs on port 3000):

npm run client

Env Files

For security purposes, all necessary API keys stored within the repo's env files have not been pushed to GitHub. Please reach out privately to receive the files if you do not have them already as the application cannot run locally without them.

Using the Application

  1. Open your browser to http://localhost:3000
  2. Click "Sign up" to create a new account
  3. Fill out the signup form:
    • Enter your email and click "Get Code" to receive a verification code
    • In development mode, check the server console for the code
    • Enter the 6-digit verification code
    • Complete the form with your name, password, institution, research areas, interests, and bio
  4. After signup, you'll see your dashboard with conferences
  5. Create or join conferences using conference IDs
  6. View conference details, search participants, and get recommendations

API Endpoints

Authentication

  • POST /api/auth/signup - Create a new user account
  • POST /api/auth/login - Login with email and password

Researchers

  • GET /api/researchers - Get all researchers
  • GET /api/researchers/:id - Get a specific researcher
  • GET /api/researchers/search/:query - Search researchers
  • GET /api/researchers/:id/recommendations - Get personalized recommendations

Conferences

  • POST /api/conferences - Create a new conference
  • POST /api/conferences/join - Join a conference by ID
  • GET /api/conferences/user/:userId - Get all conferences for a user
  • GET /api/conferences/:id - Get conference details
  • GET /api/conferences/:id/participants - Get conference participants with similarity scores

Messaging

  • POST /api/conversations - Create or get a conversation between two users
  • GET /api/conversations/user/:userId - Get all conversations for a user
  • GET /api/conversations/:id/messages - Get all messages in a conversation
  • POST /api/messages - Send a message in a conversation

How Recommendations Work

The recommendation algorithm calculates similarity scores based on:

  • Matching research interests (weight: 2)
  • Matching research areas (weight: 3)

Researchers with higher similarity scores appear first in your recommendations.

Features

1:1 Messaging

  • Click "Connect" on any researcher's profile to start a conversation
  • Auto-generated intro messages based on common interests
  • View all your connections in the "Connections" tab
  • Resume conversations anytime

Smart Introductions

When you connect with someone for the first time, the system automatically generates a friendly intro message highlighting your common research interests, eliminating the need for awkward ice-breaking!

Future Enhancements

  • Natural language search for finding participants (AI-powered intro messages)
  • Advanced filtering options
  • Group chat functionality
  • Real-time notifications
  • Profile photos and attachments
  • Export connections to contact list
  • Conference schedule and session management

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5