Current food apps like Yelp and Google Places list nearby restaurants, but they do not take into consideration the user's preferences and behavior when selecting places to eat. With Dinder, we hope to implement machine learning algorithms in order to take into account the current user's previous selections, other users' selections, restaurant ratings, and more. With this, the user is able to quickly narrow down their search on what they want to eat without having to scroll through the hundreds of nearby restaurants that they may not be in the mood for.
What it does
The user is sent to the main screen where they are given restaurants in the form of cards. Each card has the name of the restaurant, pictures, distance, price range, user ratings, and reviews. They can swipe right if the restaurant is appealing to them or swipe left if not. They will be continually fed restaurants to choose from, and they may make choices for as long as they wish. At any point in the process, they can click on the 'Favorites' tab, and all of their choices will be displayed with their corresponding restaurant values. They can make changes to their preferences in the 'Settings' tab to filter future results to their liking.
How we built it
We were all interested in building a mobile app, so we decided to use React-Native. We all downloaded the base starter pack for React-Native and began making changes. We used a library to help with the swiping animations used in restaurant selection. In order to get the restaurant information we used Zomato's API to retrieve information such as name, location, user rating, and price ranges and Google Places' API to get restaurant hours of operation, reviews, and images.
Challenges we ran into
Accomplishments that we're proud of
We were able to acclimate to a brand new environment that none of us were experienced in and able to produce something more than acceptable in a reasonable amount of time. We were able to effectively communicate and delegate tasks from beginning to end. Team members were able to encourage each other to perform throughout the duration of the event, even when morale was low.
What we learned
We became much more familiar with React Native, and we hope to use it again in the future. For our next hackathons, we believe we planned effectively; however, when it came to the actual implementation and development tools, we were under-prepared. We should take the time to learn more about the tools beforehand, that way we can focus more of our attention on adding new features to make the most efficient use of our time.
What's next for Dinder
We hope to use Machine Learning algorithms to make the restaurant suggestion functionality more robust and customizable. We also hope to deploy this as an actual app on several app distribution platforms to reach a wide audience and test our application with multiple simultaneous users. Finally, to make sure our application is running properly, we hope to set up testing of different types to make sure things are running as expected while maintaining security of user information.