Inspiration
We were tired of different social media apps being superficial and spamming us with ads. We wanted something more real based on the user's interests and personality as well!
What it does
Hi-Five allows us to log in / create an account. Users are then prompted with 5 different questions related to Openness, Conscientiousness, Extroversion, Agreeableness and Neuroticism. These prompts are then fed into our embedding model that generates vector embedding which in turn gets used for a vector search to find other users with similar personalities. We also provide users to select tags as their interests. These tags are then further used to make our friend suggesting model more accurate. Users are at first anonymous and have the option to connect with the suggested users. If the suggested user also connects back, we have a match! These matches have 48 hours to talk and get to know each other. Within the 48 hours the matched users can choose to friend each other or let the chat expire. If the chat expires, the match gets broken. If both users have a vibe match, they can friend each other be connected as permanent friends! After permanently connecting, the identities of the users are revealed to each other! This allows users to form real bonds based on personality and interests rather than superficial bonds based on mutual friends, physical looks, etc.
How we built it
We used NextJS for front end of the application to create a login, prospective friends, user-cards, and friends page. We also created dynamic chat for users to chat with each other. For the backend we used neo4j which is a graph based database to create and store user data in an instance. All the vector embeds are stored in it along with a relationship score for each user. We used bge-en-icl and roberta-base-go-emotions AI models to create vector embeddings and do a vector search to generate similarity scores. Based on the scores we create temporary and permanent relations among user. The relations are created in our graph database as edges.
Challenges we ran into
Integrating different models
- We had issues on figuring out which model would be the best fit for our case. Finding the adequate computing power
- We had to do a lot of math to compute the adequate weighing of different factors Finding the right balance of prompt engineering, preprocessing, training and weighing the results from these models
Accomplishments that we're proud of
Our in-depth Back-end architecture using AI models and neo4j Accuracy of results, we tried several different math models, and finally landing on a model the adequately shows importance to all user aspects to find the best match. Completing another successful hackathon!
What we learned
We learned a lot about how vector embeddings work and how vector search is performed. We also learned a lot about Nextjs and front end development including routing,creating components and using different libraries.
What's next for Hi-Five
Next steps for us include:
- Creating a better UI for the app
- Deploying the applications for users to use
- growing the userbase through various marketing techniques
- help people find friends!
Built With
- ai
- neo4j
- nextjs
- python
- typescript

Log in or sign up for Devpost to join the conversation.