Inspiration

Most dating apps focus on photos and basic filters, leading to shallow connections. We wanted to match people based on shared interests and deeper compatibility.

Entertainment preferences (movies, music, TV shows) reflect personality, values, and lifestyle. We built Vibely to use these signals to create more meaningful matches.

The idea came from noticing how people bond over shared entertainment. If two people love the same movies or music, they often share values, humor, and worldview. We set out to turn that insight into a matching system.

Vibely uses AI to analyze entertainment preferences, build psychological profiles, and calculate compatibility and matching people through shared interests, not just photos.

What it does

Vibely is a dating app that matches people based on entertainment preferences and psychological compatibility, powered by Google Gemini AI.

Core Features:

  • Smart Matching: AI-powered compatibility scoring (60%+ threshold) using entertainment preferences
  • Location-Based Matching: Alternative mode for proximity-focused users
  • Psychological Profiling: Analyzes movies, music, and TV shows to infer personality traits
  • Interactive Features:
    • Real-time Chat with Socket.IO with AI chat starters
    • Jam Sessions for shared music experiences
    • Watch Parties for synchronized streaming
  • Inclusive Design: Multiple gender options and flexible matching criteria

Users share their favorite entertainment, and Vibely creates a psychological profile to match them with compatible people based on shared interests, personality alignment, and cultural preferences.

How we built it

Architecture

  • Frontend: React with modern UI (glassmorphism, gradients, Tailwind CSS)
  • Backend: Node.js/Express REST API
  • Database: JSON-based storage (lowdb) for rapid prototyping
  • Real-time: Socket.IO for chat and notifications
  • AI Integration: Google Gemini API for embeddings and psychological analysis

Key Implementation Steps

  1. User Onboarding

    • Profile creation with gender selection
    • Entertainment preference browsing and selection
    • Age and location preference settings
  2. AI Matching System

    • Users input entertainment preferences (movies, music, shows)
    • Gemini generates psychological profiles from preferences
    • Creates embeddings using text-embedding-004
    • Calculates compatibility via cosine similarity
    • Applies personality trait matching and shared content boosts
  3. Matching Features

    • Smart Matching mode: AI-powered compatibility scoring
    • Location-Based mode: Proximity-focused matching
    • Match discovery with compatibility percentages
    • Confirmed matches with recalculated scores
  4. Interactive Features

    • Real-time chat with Socket.IO rooms. AI chat helpers for that first conversation
    • Jam Sessions for music sharing
    • Watch Parties for synchronized streaming
    • Real-time notifications

Technical Stack

Frontend: React, React Router, Axios, Tailwind CSS
Backend: Node.js, Express, Socket.IO
AI: Google Gemini API (text-embedding-004, gemini-flash-latest)
Database: lowdb (JSON-based)
Matching: Cosine similarity, psychological profiling

Challenges we ran into

1. AI Integration Complexity

  • Challenge: Integrating Gemini API for psychological profiling and handling API rate limits
  • Solution: Built a service layer with error handling, retry logic, and fallback mechanisms

2. Real-time Synchronization

  • Challenge: Keeping chat messages and notifications synchronized across multiple clients
  • Solution: Implemented Socket.IO rooms with user-specific event handling and message deduplication

3. Matching Algorithm Optimization

  • Challenge: Balancing matching accuracy with performance for large user bases
  • Solution: Used efficient cosine similarity calculations, implemented caching for match results, and optimized embedding storage

4. Score Calculation for Confirmed Matches

  • Challenge: Displaying accurate compatibility scores for existing matches when scores weren't stored initially
  • Solution: Created a dedicated calculation function that recalculates scores using the same algorithm as initial matching, ensuring consistency

5. User Experience Flow

  • Challenge: Creating an intuitive onboarding flow that guides users through preference selection without overwhelming them
  • Solution: Designed a step-by-step onboarding process with clear progress indicators and helpful tooltips

6. Data Consistency

  • Challenge: Ensuring user data consistency across different features (profile, preferences, matches)
  • Solution: Implemented data validation and normalization at the API layer with centralized data management

Accomplishments that we're proud of

AI-Powered Matching System: Successfully integrated Google Gemini AI to create psychological profiles from entertainment preferences

Dual Matching Modes: Implemented both Smart Matching (AI-based) and Location-Based matching to cater to different user preferences

Real-time Features: Built seamless real-time chat, notifications, and interactive features using Socket.IO

Inclusive Design: Created a flexible gender selection system with multiple options beyond binary choices

Compatibility Scoring: Developed a sophisticated scoring system that combines cosine similarity, personality traits, and shared content analysis

Interactive Experiences: Built unique features like Jam Sessions and Watch Parties that go beyond traditional messaging

Modern UI/UX: Created a beautiful, modern interface with glassmorphism effects, smooth animations, and responsive design

Performance Optimization: Achieved fast matching calculations and efficient data handling despite complex AI integrations

What we learned

Technical Skills

  • AI/ML Integration: Deep understanding of Google Gemini API, embeddings, and vector similarity
  • Real-time Systems: Mastered Socket.IO for real-time communication and event handling
  • Psychological Profiling: Learned how to extract meaningful insights from entertainment preferences
  • Vector Mathematics: Gained expertise in cosine similarity and embedding-based matching

Product Insights

  • Users value deeper connections based on shared interests over surface-level attraction
  • Shared entertainment preferences are strong indicators of compatibility
  • Interactive features significantly increase user engagement
  • Flexibility in matching modes (smart vs. location) appeals to different user segments

Development Process

  • Importance of building a robust service layer for AI integrations
  • Need for comprehensive error handling in real-time systems
  • Value of user feedback in refining matching algorithms
  • Benefits of modular architecture for feature scalability

What's next for Vibely - connect through your shared passion

Enhanced AI Models: Refine machine learning models based on user feedback and relationship outcomes

Mobile App: Develop native iOS and Android applications for better accessibility

Streaming Integration: Direct integration with platforms like Netflix, Spotify, and YouTube for seamless Watch Parties and Jam Sessions

Advanced Profiling: Expand psychological profiling with more data points and deeper analysis

Global Expansion: Scale the platform to support multiple languages and regions

Enhanced Communication: Add video calls, voice messages, and more interactive communication features

Analytics Dashboard: Provide users with insights into their matching patterns and compatibility trends

Personalized Recommendations: Use machine learning to suggest new entertainment content based on matches' preferences

Our vision: Make Vibely the go-to platform for finding meaningful connections through shared passions, where entertainment preferences become the foundation for lasting relationships.

PS: If you are trying out the link please be sure to login as : email: nivedu99@gmail.com password: abc Try with this mock user to enjoy all the features

Built With

Share this project:

Updates