Inspiration

Once upon a time, there was a hungry hungry man. This hungry hungry man had a hungry hungry girlfriend. The hungry hungry girlfriend wanted some food. Thus, the hungry hungry man have received a side quest to get his hungry hungry girlfriend some food. The hungry hungry man asked "What would you like to eat babe?" The hungry hungry girlfriend said "anything baby!" Thus, the hungry hungry man went and got some McDonalds for the both of them. When the hungry hungry man showed the McDonalds to the hungry hungry girlfriend, she was furious. "Didn't you know I've been trying to lose weight!?!?!" the hungry hungry girlfriend exclaimed! The wise but hungry hungry man quickly replied, "Baby honestly, I think you look perfect just the way you are. McDonald's or not, you'll always stay beautiful to me.” The hungry hungry girlfriend's heart skipped a beat and her face quickly reddened, blushing from her boyfriend's words. The hungry hungry man realized that this can't happen the second time and thus, got the inspiration to create FoodSwipe!

I'm just kidding, this project was inspired by tinder and from looking through Instagram posts and because I was hungry :D.

What it does

FoodSwipe is a tinder like food matching application. The application takes the user's data and displayes nearby restaurants. Users can choose to like or dislike a restaurant, showing that they are fine with eating there. Usually, there would be another user choosing their preference for each of the same restaurant. When both users agree to want to eat at a specific restaurant, a MATCH occurs! At this point users can close the application and start heading to the restaurant with the other user. If the user do not know the location of the restaurant, there is a link around the matched restaurant that will bring them to a google maps link directing them to the restaurant. FoodSwipe prevents incidents when groups of more than 1 eat at a restaurant and at least one member is unhappy to eat there.

How we built it

We started by drawing out sketches of what we wanted the UI (user interface) to look like. Then we considered how the front end would function and/or "animate" when called upon (ex: clicked on). Then we decided what technology we would use. We decided on a python/flask framework as that was what we were most comfortable with. We used docker to contain our application to easily simulate what the user would experience when we deploy our application. We used auth0 to easily incorporate logging in and registration. The rest is just researching to combine these technologies together to create history 😎.

Challenges we ran into

One of the biggest challenges was integrating multiple technologies smoothly. Since FoodSwipe requires user authentication, real-time data, and location-based services, setting up and managing these services in a cohesive way was initially tough. We also ran into challenges with implementing the swiping feature, especially ensuring that users could see the same restaurant options and match effectively. Syncing Google Maps data for location accuracy and enabling seamless transitions between screens required multiple iterations and adjustments. Additionally, deploying the app within Docker containers brought its own set of issues, particularly in ensuring the containerized environment matched production requirements.

Accomplishments that we're proud of

We’re proud of creating a functional food-matching app from scratch! The UI/UX came together beautifully, providing a sleek and enjoyable experience. Integrating Auth0 for secure login was a significant accomplishment, as it ensured user security without complicated setups. We’re also proud of making restaurant matching intuitive and effective—the app successfully shows nearby restaurant options and matches preferences between users. Achieving smooth functionality with Google Maps links for easy restaurant navigation was another highlight, making the app more practical for real-world use.

What we learned

Throughout this project, we learned a lot about using Docker to containerize our application, which was key for simulating a production-like environment locally. We also dove deep into front-end and back-end integration, especially with React animations for the swipe feature, making the user experience interactive. Additionally, we gained experience with Auth0 for secure login and handling user authentication, as well as using Google Maps APIs to fetch and display location-based data. Finally, we learned that creating a great user experience requires lots of testing and iteration to get it just right.

What's next for FoodSwipe

We plan to add a few features to enhance the app's usefulness and engagement:

1) Personalized Restaurant Recommendations: By using machine learning, we hope to tailor suggestions based on previous swipes and matches. 2) Expanded Location and Cuisine Filtering: Users could filter by cuisine, distance, and price range, making it easier to find something that suits everyone’s tastes. 3) Mobile App: Eventually, we’d like to turn FoodSwipe into a mobile app for an on-the-go experience, making it even easier to find and match on restaurants while out with friends.

Built With

Share this project:

Updates