1 of 10

Brenden Smith

Konrad Hernandez

Stephen Lyons

Rodolfo Sandoval

2 of 10

FooDood Launch

3 of 10

Overview

FooDood is a mobile app that simplifies the process of deciding what to eat by combining swiping and restaurant menus. Users can swipe through a list of nearby plates and easily make a stress-free decision. Plus, FooDood remembers users' likes and suggests plates accordingly, streamlining the decision-making.

4 of 10

Pitch

  • Studies show that it is easier to make a decision when presented with simple options “yes” or “no”
  • Combines the concept of Dating-swiping with selecting a dish to eat.
  • After selecting categories or “I’m Feeling Lucky”, FooDood presents users with a list of local dishes to swipe right or left on!

5 of 10

Social Impact

  • Tackling choice paralysis, where when consumers are presented with too many options, they are less likely to make a decision or purchase.
  • Encouraging people to try new restaurants and cuisines in their local area.
  • Providing a stress-free dining experience, positively impacting mental health and overall well-being.
  • Improving the economy through encouragement to dine out.

6 of 10

Front End

  • Stack
    • React Native
      • React Native is a framework for building mobile applications using JavaScript and React. It allows developers to write code once and deploy it to both iOS and Android platforms, while still providing a native-like user experience.
    • Typescript
      • TypeScript is a superset of JavaScript that adds optional static typing and other features to improve code quality and maintainability. It allows developers to catch errors earlier in the development process and write more scalable and robust applications.
    • Expo
      • Expo is a set of tools and services that make it easier to build, test, and deploy React Native applications. It provides a simple and efficient development workflow, allowing developers to focus on building their apps without worrying about the underlying infrastructure.

7 of 10

Back End

  • Stack
    • Google Cloud/Firebase
      • Firebase Authentication
      • Firestore (NoSQL Database)
      • Cloud Functions (Serverless Node.js functions)
    • Yelp API
  • Recommendation Algorithm
    • Takes the user’s location, search radius, and preferred categories as input.
    • Queries the Yelp API to get a list of matched restaurants.
    • If the data does not exist or is stale in the database, fetches the menu items from those restaurants and stores them in Firestore.
    • Returns a list of restaurants so the client can dynamically query Firestore for menu items.
  • I’m Feeling Lucky
    • Fetches the user’s likes from the database.
    • Ranks tags numerically based on how frequently they appear in the user’s likes. Super Likes are weighted higher than normal likes.
    • Calls the Recommendation Algorithm with the top 10 categories from the ranking.

8 of 10

Technical Challenges

  • Data sourcing and caching
    • Initially wanted to aggregate data, but it was difficult to find public APIs that suited our needs. Settled on Yelp API.
    • Needed a way to reduce calls to the Yelp API and to store menu items. Stored menu items in Firestore with a 30 day time-to-live.
  • Consistent UI implemented with React Native
    • Although React Native is used to develop cross platform, parity is not always consistent and finding styling that insured parity was a challenge
  • Machine Learning algorithm which suggests new dishes to the user based on their likes and preferences
    • Created “I’m Feeling Lucky” mode which takes into account user’s likes. This way a user can still search for specific categories if they want, or be provided suggestions if they aren’t sure.
  • Persistent “Super Likes” and product monetization.
    • “Super Likes” never expire and have a higher weight in “I’m Feeling Lucky” mode.
    • User will be allowed a limited amount of “Super Likes” per month, which presents an opportunity for product monetization.

9 of 10

The Future

  • Deploying to the App Store and the Google Play Store.
  • Moving from Yelp API / web scraper to an official solution, such as MealMe.
    • This would be a paid solution and require an application process.
  • Using AI/ML to generate images for plates that don’t have an image, and to generate additional plate tags based on its image.
  • Improve response time for plate fetching algorithm
  • Implementing limited super likes, and unlimiting on paid subscription or one time purchase of X amount of super likes.
  • Displaying the number of times a plate has been liked by other users
    • Recommending dishes based of what’s popular in the area based off user likes.

10 of 10