Scores based on shared interests (0-100 points):
- Categories: 50 pts max
- Tags: 30 pts max
- Keywords: 20 pts max
import { useUsers } from '@/composables/useUsers'
const { users, findMatches } = useUsers(sphereId, currentUserId)
// Get matches for current user
const matches = findMatches(currentUser)
// Returns UserMatch[] sorted by score + distanceinterface UserMatch {
user: User
matchScore: number
sharedInterests: {
categories: string[]
tags: string[]
}
distance?: number
}- UsersSidebar: Displays sorted matches
- ProfileEditor: Update interests to improve matches
- Notifications: Notifies on high-score matches (future)
Cross-ref: Privacy | Phase 1 Summary