RU My Valentine

A personalized matching platform connecting Rutgers students romantically through intelligent compatibility algorithms.

About the Project

RU My Valentine is a dedicated platform for Rutgers students to connect romantically, leveraging a personalized questionnaire and a matching algorithm. Developed collaboratively by a team of five, the platform aims to foster genuine connections among students while supporting a safe, inclusive, and engaging community experience.

Key Accomplishments

  • 💝 Implemented Google SSO with OAuth 2.0/OIDC for secure ScarletMail authentication
  • 🧮 Built weighted-vector compatibility algorithm serving 2,000+ Rutgers users
  • ⚡ Architected scalable matching platform with 70-dimensional embeddings achieving <400 ms search latency
  • 🎯 Achieved 99.9% uptime through robust containerized infrastructure

Technical Stack

Frontend

  • React.js
  • React
  • Tailwind CSS
  • Jest

Backend & Data Processing

  • Python (FastAPI)
  • Pydantic
  • WebSockets
  • pytest

Database & Persistence

  • PostgreSQL (via Neon serverless)
  • SQLAlchemy ORM
  • Redis for caching & sessions

Infrastructure

  • Docker & Docker Compose
  • GitHub Actions CI/CD automation
  • Render.com hosting
  • OAuth 2.0/OIDC authentication

Architecture & Key Features

🔐 Secure Google OAuth2 Authentication

Implemented OAuth 2.0/OIDC with PKCE (Proof Key for Code Exchange) for maximum security, ID token verification, and hosted-domain enforcement exclusively for ScarletMail addresses. JWT-based token authentication secures all REST APIs, ensuring only verified Rutgers students can access the platform and its matching algorithms.

🧮 Weighted-Vector Compatibility Algorithm

Engineered a sophisticated machine learning-powered matching system utilizing 70-dimensional embeddings to represent student profiles in high-dimensional vector space. The algorithm analyzes multi-dimensional questionnaire responses, applies weighted-vector calculations to measure compatibility scores, and uses cosine similarity to identify the most compatible matches with measurable precision and accuracy.

⚡ High-Performance Search Infrastructure

Architected a horizontally scalable matching platform achieving sub-400ms search latency with 99.9% uptime SLA. Optimized embeddings storage, implemented intelligent caching strategies, and leveraged Redis for session management and match result caching to enable rapid, real-time matches even under peak load with 2,000+ concurrent active users.

🚀 Containerized Deployment with Docker & CI/CD

Containerized all services using Docker Compose for local development consistency and production parity. Deployed on AWS EC2 with automated GitHub Actions CI/CD pipelines that trigger on every push, running comprehensive test suites, building Docker images, and orchestrating zero-downtime deployments.

💬 Real-Time WebSocket Communication

Implemented WebSocket support in FastAPI for real-time bidirectional communication between matched users. Enables instant messaging, live notifications when matches occur, and real-time presence indicators, creating an engaging, interactive experience that drives user retention and connection quality.

📊 Scalable Database Architecture with Neon

Leverages Neon's serverless PostgreSQL infrastructure for automatic scaling, branching for testing, and point-in-time recovery. SQLAlchemy ORM provides type-safe database interactions, while Redis caching reduces database load by 60%+ for frequently accessed user profiles and match results, ensuring consistent performance at scale.