People are often lonely. Especially as college students, it is becoming more and more normal that people eat alone. However, many people don't have enough connections or confidence to combat this challenge! In addition, finding opportunities to share your culture and experiences with others can come few and far between, especially in combination with isolation. We’ve designed a system to combat these challenges by bringing people together over something nobody can ignore: FOOD!

What it does

This cross-platform mobile application is a platform to match strangers together over similar interests to share a meal! Users can indicate the food cultures they enjoy, personal dietary restrictions, and some non-revealing personal information to help our system find others with whom to bond. Users can create requests for food from a particular culture to share either as a group or as individuals, as well as standing offers to cook a particular dish for one or more people (with the option to edit or delete both). Individuals receive a queue of offers and requests from others that match their interests. Any offers or requests that are incompatible (a non-vegetarian meal for a vegetarian, for example) are discarded from the pool. When you find something you like, you can accept that request and contact the creator through their provided email address!

How we built it

This app was built using React Native and Expo on the frontend and Express and MongoDB on the backend. We worked in pairs on both aspects of this project simultaneously, but also checked in and problem-solved as a full team quite frequently.

Challenges we ran into

Expo can be a finicky software with which to work. Working with this software came with the added challenge of time invested into configuring the software to work, version dependency issues breaking everything, and getting acquainted with the CLI functions. We also struggled to identify how best to put our ideas into reality on the frontend side, both in terms of layout-designing and actual implementations in React Native! On the backend side, setting up our Azure app service took several hours of trial and error before our server was finally able to build and run successfully. Finally, many of our team members were starting from scratch on Express, JavaScript, and React Native. We spent a large amount of the weekend working through the initial roadbumps of learning new technologies before the pace picked up towards the end!

Accomplishments that we're proud of

Matchmaking system for offers and requests Setting up Azure app service and Github workflows Learning lots of new things! And applicable Skills!

What we learned

Time management, communication, industry standards and relevant skills from the workshops, backend and frontend workflows, strategies for working effectively a development team, and software like React Native, Expo, Express, MongoDB, and Azure.

What's next for Meet4Meal

We want to start by improving the design of the website! Since the time restriction limited the scope of the project, we omitted many details and touch-ups that would greatly enhance the project’s appeal. We’d also like to make our user interface more friendly, with an emphasis on the visual design and the transitions between app screens.

With regards to the matching service, there are lots of areas for improvement! Additional validation on API call inputs are an important security follow up to this project, and there are also many areas where our system might be simplified or sped up with minor refactoring. We would also like to improve the quality of the matching algorithm! Our scores are currently of low scientific merit, so using more criteria or adding weights to particular fields might improve the accuracy of finding good matches.

Share this project: