Inspiration & Overview
Our market research and personal experience indicates that loneliness is a problem across all demographics. However, many people are hesitant to organize activity groups because:
1) People are busy. 2) Activity groups require someone (a leader) to put in effort, and take responsibility for an event.
We focus on solving the second problem, and we created a software that lowers this barrier to entry for group activities. On Community, our software system matches people together based on shared interests, location, and preferred group size; This allows people to connect with others without taking on the responsibility of organizing an event.
We are excited that this idea can scale. The first people to use this, we imagine, are clubs on college campuses that want to connect with students, and the corresponding students that want to connect with clubs. Over time, the community could grow to include events that aren’t sponsored by organizations. From there, this could be used beyond college campuses to help adults (30-50) with similar interests find each other. We think this demographic, based on our research, could especially benefit from this.
What it does
Community uses a simple user interface that allows users to create and join real-life events. These events could include any number of people and be anything, including:
A Book Club Running Group Dinner or Coffee Going on a Hike Painting Playing in a Band
Users can create an event that they would like others to join, and be automatically matched to people who request the same event with the same parameters. Also, people are recommended for events near them that they can join. Once people join an event together, they, collectively, have access to a chat that they can use to coordinate. These events can be recurring, and the group becomes a friend-group for people to have systematic social connection in their lives.
How we built it
We used React for both the front-end, and React Server Components + React Router for the backend. React integrates particularly well with Firebase, so we used that for our database. This was also helpful because Firebase supports real-time updates, which was useful for more advanced features like the chat.
Challenges we ran into
During development, we encountered several challenges that required careful problem-solving. One challenge was creating an intuitive event scheduling system. We initially designed an auto-scheduling feature based on user availability, but it introduced complexity that affected the user experience. We simplified this to a manual date/time selection system, which proved more reliable and user-friendly. In the future we can add auto-scheduling.
Another problem in this website is the matching algorithm. Originally, we assumed we would use unsupervised learning over peoples’ profiles and then use iterative machine learning to update the matching algorithm based on the success of peoples’ encounters with each other. We attempted to make the former but it proved to be intractable for us because 1) Quantifying personality is difficult 2) The machine learning would be time-consuming
Lastly, we spent a lot of time designing the UI to be as effortless as possible, so that people are encouraged to find others that share similar interests.
Accomplishments that we're proud of
We're proud of implementing our idea nearly to its fullest: from creating an event, to using a complex matching algorithm to bring together arbitrarily large groups of people, to finally pushing that event out to users and allowing them to communicate using a chat. All of these pieces had individual complexities within them that we're proud of solving.
For example, deciding what parameters are most valuable for an event was a challenge; it took balancing depth of information with practicality: we decided to include user location as a parameter to the algorithm (so two people don't get matched from different cities), but we decided to remove the user-inputted "event intensity" parameter, as it added an impractical amount of nuance that only made potentially good matches less likely to happen.
What we learned
We learned a lot about the iterative design process. The initial version of Community had drastically different parameters and goals. By talking it out and doing market research, we were able to narrow down exactly what was important for creating a decentralized and semi-anonymous group planning application.

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