Chris Pollett > Students >

    ( Print View)



    [CS 297 Proposal]

    [Initial mockup with API - PDF]

    [Deliverable 1]

    [Deliverable 2]

    [Deliverable 3]

    [Deliverable 4]

    [AI Component]

    [CS 297 Report - PDF]

    [CS 298 Proposal]

    [CS 298 Report - PDF]

    [CS 298 Slide Deck - PDF]

CS298 Proposal

AI Dining Suggestion App

Bao Pham (

Advisor: Dr. Chris Pollett

Committee Members: Dr. Mike Wu & Dr. Kevin Montgomery


Trying to decide what to eat sometimes can be challenging and time-consuming for people. Google and Yelp have large scale data sets of restaurant information as well as APIs for using them. These restaurant data includes time, price range, traffic, temperature, etc. The goal of this project is to build an AI model that can learn from one's dining pattern over time to help make restaurant suggestions (with maybe some interesting options) at any time.

CS297 Results

  • Create an API that collects data from Google and Yelp given a specific location, then responds to the front-end application's request with a list or restaurants
  • Collect implicit data from other external sources besides Google and Yelp to enhance the suggestions made by the AI model later on
  • Create a simple front-end application that can make queries to the API and parse the results into a list of restaurants for user interactions.
  • Prepare the training dataset and test the simple AI model with small datasets

Proposed Schedule

Week 1-3: 1/29-2/19Integrate the AI model with real-time data from front-end after training model with training dataset (Deliverable 1)
Week 4-5: 2/19-3/5Test (possibly with real testers), observe and modify model with implicit data which is gathered from the app
Week 6-9: 3/5-3/26Implement reinforment learning with implicit data (Deliverable 2)
Week 10-12: 3/26-4/9Test (possibly with real testers) and refine model with reinforcement learning
Week 12-13: 4/9-4/23Polish and update additional functions for the app (Deliverable 3)
Week 14-16: 4/23-5/7Prepare report and presentation (Deliverable 4)

Key Deliverables:

  • Software
    • Functional mobile app built with React Native to suggest dining options
    • An AI model trained with Tensorflow to suggest dining options
    • Reinforcement learning component for AI model using Tensorflow to train with implicit data that is collected from the mobile app
  • Report
    • CS 298 Report
    • CS 298 Presentation

Innovations and Challenges

  • With the friendly UI design inspired from mobile app swiping function, the goal is to ease the traditional browsing way for a dining option from a long list.
  • The AI model helps find the most possible dining options and eliminate the outliers from the restaurant list which is gathered via Google and Yelp APIs
  • Apply reinforcement learning on implicit data collected from the app to experiment if AI is useful for complex problems such as finding a good restaurant for a specific user
  • References:

    1. Pham, et al. "Device Placement Optimization with Reinforcement Learning." [Astro-Ph/0005112] A Determination of the Hubble Constant from Cepheid Distances and a Model of the Local Peculiar Velocity Field, American Physical Society, 25 June 2017,

    2. Sutton, R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction. MIT press.

    3. Covington, Paul, et al. "Deep Neural Networks for YouTube Recommendations - Google AI." Google AI, 1 Jan. 1970,

    4. Hasselt, et al. Deep Reinforcement Learning with Double Q-Learning.

    5. Burda, et al. "Large-Scale Study of Curiosity-Driven Learning." Curiosity-Driven Exploration by Self-Supervised Prediction,