Project Story

Inspiration 💭

College is a young person’s first step away from their childhood and family, and most face it alone.

We’ve experienced the hardships that come with building a social network from the ground up, and it’s not just us. Approximately 77% of college students have fought loneliness, and 45% have felt chronic, pervasive loneliness.

That is where we come in. Through IceBreak, you are matched to your best possible friend within an existing social organization based on your personality and interests. We use our proprietary algorithm to match people together and give them AI-generated topics of conversation that lead to seemingly-serendipitous connections and lifelong friendships.

We envisioned a platform that would do more than just bring people together but rather, it would ignite conversations and set the foundation for creating lifelong friendships. This vision became our mission, driving us to pour our hearts into building an application designed for people to discover not just strangers, but allies and mentors for personal and academic growth.

What it does 🏋️‍♂️

When a social event starts (think college orientation, club callout meeting, etc.), the event coordinator sends an invite to the users to fill out a quick survey from which we gather information to create their profile. They login and are able to see any matches they have for the event. Based on the users’ profiles, an LLM will generate the questions for them.

How we built it ⚒️

Overview 📋

Going in, a few members had experience with Flask/Python and some basic frontend. From this, we expanded to create a fully-functioning product. Other technologies used include HTML, CSS, and the OpenAI API to call GPT-3.5.

Frontend 🖥️

We place a heavy emphasis on a positive user experience. Due to the customization and versatility, we utilized HTML and CSS to structure and style our product to be appealing and functional.

We began by methodically designing each webpage with user experience in mind. To this end, we created each page of our website separately in multiple HTML files, as well the the stylesheets associated with them.

This allowed for a more coordinated effort once we all knew what we wanted our brand to be as well as better organization and maintenance of our code.

Backend ⚙️

Tech used

We used Flask to manage the backend, call the OpenAI API, and Python to run our matching algorithm.

Approach

Flask manages the server user responses and incorporates them into the application. These results and compatibility ratings generated from the API are organized and displayed on the application with the help of Flask.

The OpenAI API models were integrated by generating unique and engaging conversation starters tailored to the users’ personalities and interests. We implemented secure, server-side calls to the API from Flask to ensure user data was handled responsibly.

With the API, we developed a matchmaking algorithm that tracks and matches the keywords from the responses with other users to determine a compatibility rating. The algorithm sorts the highest ratings first so users only see the matches that best fit them according to their personality type.

Challenges we ran into 🤔

  • Prompt-engineering to get a good response from the LLM was hard to do. It did not listen to all instruction that we gave it and took a lot of trial and error.
  • Collaborating on multiple different aspects of the project while also trying to integrate everything together.

Accomplishments that we're proud of 🏆

  • 42% better compatibility score with our application of the stable-marriage algorithm than a random pairing (74% versus 32%).
  • Three team members learned frontend web development from the ground up in a few hours to start working on the project.
  • We built the most complete automated matching algorithm on the market.

What we learned 📝

  • Having to go from ideation to full implementation within 24 hours is hard! Every abstract idea has to be defined concretely into exact functionality, and has to be assigned to a person with relevant skills.
  • Plenty of technical skills: HTML, CSS, JS, Flask, graph theory, etc.
  • Essentials of making an effective pitch with a one-liner, design, and what investors want see.

What's next for IceBreak 🚀

Starting on the project has opened our eyes to the possibility of what it could be, and our next steps will be important.

First, we will go to potential customers and receive feedback on the product and how it fits their needs. This will lay the groundwork for future iterations.

Second, we will clean up the website by making it more appealing to university administrators and club leaders. Our implementation was fairly rudimentary: it focused on getting a bare-bones functionality. We will transform it into a world-class UI.

Third, we will start running tests and iterating on the matching algorithm. Through these focus group tests, we will cast a net for a wide range of questions, have potential matches meet, and have them rate their experience after the fact. From there, we can utilize data science techniques, and potentially machine learning, to identify the most important characteristics.

These steps will be repeated while rolling out our product so we can get the most feedback possible and start expanding. We are excited for other possible applications of this kind of technology such as sales or a general-purpose social media app. There is so much more to do, and we cannot wait for what the future brings!

Built With

Share this project:

Updates