Inspiration

Inspired by our first semesters at college, we envisioned Mutuo, an app that rekindles the initial euphoria of meeting new people. During those first few months, everyone was open to making connections, and the thrill of encountering fresh faces and forming new friendships was exhilarating. However, as time went on, friend groups solidified and became more insular, making it harder to meet new people outside of established circles. Thus, Mutuo aims to replicate that early excitement by connecting people through mutual friends, allowing users to continually expand their social networks and recapture the joy of new connections in a more seamless and ongoing manner.

What it does/How we built it

Because the connected 2-club problem is NP hard, we designed a heuristic algorithm that creates a group optimized to have the least maximal degree of separation. Using a BFS graph search, Mutuo finds a fully connected graph containing the initial user - which we call a ‘clique’. Then, we continue on by adding friends of friends, leveraging pseudo-random processes such that unique connections are formed. After group formation, invites are sent out to members of the group, creating an event if a requisite number of responses are recorded. Thus, a meetup is scheduled, and the rest is up to the users!

Challenges we ran into/What we learned

Through the arduous process of producing a valid algorithm, we learned that even though general problems over large sample sizes may be NP hard, computational runtime can be disregarded to a certain extent in relatively small sample sizes. The bulk of our time was spent designing and implementing such an algorithm, stretching and smoothing our restrictions to make it run in O(n^3) time. Further, we learned a lot about databases, and how to design strong cybersecurity so that user information is protected and vulnerabilities are constrained.

What's next for Mutuo

Mutuo can be used by college students anywhere – Washington, the entire US, and beyond! Our runtime complexity is decent and our data is preprocessed and cached, so we can scale up to tens of thousands of users without adverse performance effects. In the future, we can add more options to events and user profile customization. Further, we can create new features that allow participants to review events, or create automatic data-based friend connection to improve user experience.

Share this project:

Updates