Multidimensional Matching Algorithm
A confidence-weighted matching system that combines personality analysis, interest alignment, and life circumstances to find genuinely compatible friends.
Why Matching Friends Is Harder Than Dating
Dating apps optimize for physical attraction and romantic chemistry. Friendship requires something entirely different: shared worldview, communication compatibility, and mutual availability. We built our algorithm from scratch for this challenge.
Dating Apps
- Photos are the primary signal
- One-on-one focus
- Exclusivity expected
- Quick decisions
Social Networks
- Existing connections only
- No compatibility analysis
- Optimized for engagement
- Shallow interactions
Kenektic
- Personality and values primary
- Multiple friends expected
- Deep compatibility analysis
- Quality over quantity
Four Matching Factors
Each match is scored across multiple dimensions, weighted by importance
Personality Compatibility
5-dimension analysis comparing communication styles, humor, and social preferences
Interest Overlap
Shared interests, hobbies, and activities that provide natural conversation starters
Life Circumstances
Similar life situations that create natural understanding and availability
Availability & Intent
Matching people who have similar time availability and friendship goals
How the Algorithm Works
From profile to match in five stages
Profile Vectorization
pgvector with 1536-dimension embeddingsUser profiles are converted into high-dimensional vectors using AI embeddings, capturing nuanced personality traits and preferences.
Candidate Generation
HNSW index for sub-millisecond retrievalFast approximate nearest neighbor search identifies potential matches from the user pool based on vector similarity.
Multi-Factor Scoring
Weighted scoring with confidence adjustmentEach candidate is scored across all matching factors with confidence-weighted calculations.
Confidence Filtering
Minimum 60% confidence thresholdMatches below confidence thresholds are excluded. We'd rather show fewer, better matches than many uncertain ones.
Diversity Balancing
Complementary vs. similar balanceFinal selection ensures diversity in match types—not everyone should be identical to you.
Confidence-Weighted Scoring
Not all data is equally reliable. If we've only had three conversations with you, our personality assessment has lower confidence than after 30 conversations.
Our algorithm weights each factor by its confidence score. This means early matches rely more on explicit information (stated interests, life situation) while later matches can leverage deeper personality insights.
Why This Matters
Fewer Bad Matches
Low confidence = lower weight, reducing false positives
Improving Over Time
Match quality increases as we learn more about you
Honest Uncertainty
We won't pretend to know more than we do
Vector-Based Matching
Using AI embeddings to capture nuanced compatibility
pgvector Database
PostgreSQL extension enabling efficient similarity search across millions of user vectors with sub-millisecond query times.
1536 Dimensions
Each user profile is represented as a high-dimensional vector, capturing subtle personality traits that simple metrics would miss.
HNSW Indexing
Hierarchical Navigable Small World graphs enable approximate nearest neighbor search at scale without sacrificing accuracy.
Continuous Refinement
Our matching algorithm doesn't stop after the first match. It learns from every interaction to improve future recommendations.
Feedback Signals
Message response rates, conversation duration, and explicit feedback all inform future matching.
Relationship Outcomes
Matches that become active friendships train the model on what successful compatibility looks like.
Profile Evolution
As your interests and circumstances change, your matching profile updates automatically.
