Matching on temperament
Technical · October 2024
SASEhack 2024
Two weekends before Terminally-Addicted, some of the same crew did SASEhack. Raihan, Shawn, Shashwat and I built Hi-Five, a social platform that matches people on personality instead of photos.
You take a five-dimension personality assessment, pick your interests, and the system pairs you with compatible strangers. The match starts anonymous, with a 48-hour chat window. If both people want to keep going, identities reveal and the friendship becomes permanent. If not, it dissolves and nobody got judged by their profile picture.
Full honesty on the credit: my code from that weekend never made it out of my machine, so the repo history is all Raihan, Shawn and Shashwat.
Hi-Five
The matching had to work on who people are rather than what they post, which meant putting a personality model into vector space.
Technical
Each user's OCEAN assessment (openness, conscientiousness, extroversion, agreeableness, neuroticism) plus interest tags becomes an embedding, BGE-en-icl for the text side with RoBERTa-base-go-emotions reading emotional register. Users and relationships live in Neo4j, and the match score is a weighted blend, 0.6 on embedding similarity and 0.4 on interest overlap, so shared temperament outweighs shared hobbies but doesn't erase them. The front is Next.js, login through cards through chat, with the 48-hour window enforced on the relationship edge itself.
