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
User Onboarding
- Profile creation with gender selection
- Entertainment preference browsing and selection
- Age and location preference settings
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
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
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
- api
- axios
- cosine-similarity
- express.js
- gemini
- gemini-flash-latest)
- google-gemini-api-(text-embedding-004
- javascript
- lowdb
- node.js
- react
- react-router
- rest
- socket.io
- tailwind-css
- vector-embeddings
Log in or sign up for Devpost to join the conversation.