Going to Berkeley, it's a truism that dining hall food is, well, not great. As college students who don't necessarily have the monetary means to eat out, we are forced to eat whatever the dining hall throws us, whether that be uncooked pork, salads infested with E. coli, or salmonella-infested chicken. Often, we leave the dining hall with empty stomachs and demoralized state of mind. Furthermore, students currently have to message all social media in order to find a friend to eat, which creates significant friction in coordinating meals. Lastly, CalDining's improvements feel slow and inefficient with changes often feeling highly undemocratic.

Target Market

Our primary target market is students at university. Students are the main users of our application because students eat at the dining hall on a large-scale basis daily. Our secondary target market is the university itself because universities will benefit greatly from the democratized access to information on our platform in order to improve their meal selection, waste management, and business model.


DineRight has four key features to improve this experience for college students and university dining-hall management.

  1. We enable real-time reviews of dining hall food. Each meal, students have multiple dining halls, and thus food options, to choose from. Currently, students will explore Cal Dining's online menu to help them decide which cafeteria to dine at. However, this method lacks democratization and information density than other applications like Yelp have. To solve this issue, DineRight imports the dining hall options and nutrition information for every meal each day and allows students to rate each of the items served at all dining halls in real-time. Other students can see these reviews live to advise their dining-hall decision. The fish tacos were a bit overcooked at Berkeley's Crossroads? We now know to avoid Crossroads (or at least avoid the tacos)!
  2. Searching through dining hall reviews before every meal is tedious, especially on an empty stomach. We have a solution. After you review your first few meals, we use machine learning (specifically clustering algorithms) in order to recommend the best dining hall for you at the current time, given the food being served and reviews. More technically, if students who have similar tastes to you are enjoying a particular dining hall or food item, we infer that you have a higher probability of also enjoying the food and will recommend it. We will send you a notification along the lines of "We think you might like Cafe 3's Pesto Pasta with Sun-Dried Tomatoes." Your input on our recommendations will further improve the algorithm for everyone.
  3. Finally, most students prefer to eat at the dining hall with a few friends. However, finding a group for three meals a day can be difficult given the student's busyness. We will thus notify you when your friends attend dining halls, so you can join them! Get ready to receive notifications like "Hungry right now? Join Arjun, Tony, and Chris are at Clark Kerr dining hall!" This information can also be viewed by opening the app.
  4. This data is a treasure chest for dining halls, so we built a dining hall management portal, in addition. The portal allows dining halls to receive actionable feedback about their food. For example, Crossroads' reviews might indicate that Pork Lasanga was perfect, but a bit too salty; they can fix this for next time. Without DineRight, Crossroads' would just see the lasagna piling up in their compost bins, but not understand the cause. This will significantly reduce dining hall food waste and encourage dining halls to focus on quality.

Competitive Growth Plan

  1. Continuous R&D and Technical Strength: We plan to continue building our application with several key new features after the hackathon such as a DineRight Climate Score and DineRight Nutrition Score such that students are able to dine more consciously and holistically. Furthermore, some competitive elements we may add are Dining Hall wars or scavenger hunts in the dining halls in order to improve the social features in the dining hall.
  2. Distribution and Marketing: We plan to distribute this application in both the App Store and the Google Play store for students to utilize. Furthermore, we plan to deploy our web app online for administrators to be able to take advantage of the system, similar to existing Berkeley applications like BerkeleyTime. In doing so, we plan to make a strategic partnership with CalDining as a starting point, which will provide us with the monetization necessary to scale. Afterward, we will apply our business model to other universities in hopes of viral growth and improvement in food quality.
  3. First Mover Advantage: As first movers in the archaic domain of CalDining, we are able to capitalize on the existing market share and take advantage of the opportunities that currently exist. As we rapidly iterate and test our products at Berkeley and beyond, we hope to set the dominant design in the market.


Frontend: Used the JavaScript framework Vue.js to streamline the development of our multi-page and multi-page component application. We also used Vuetify as a component library to incorporate material design into our user interface. Our application is a Progressive Web-App that is responsive based on the size of the screen, from phones to computer screens to suit the users' needs no matter what device they are using our web app on.

Natural Language Processing: We are actively working on and improving a natural language processing algorithm that powers the dining hall and food recommendation system. It is an unsupervised machine learning algorithm that utilizes the TfIdfVectorizer with N-grams and K-means clustering in order to identify unique student subgroups in cuisine and restaurant preference. Digging deeper into the specifics, the TfIdfVectorizer converts the qualitative content from user comments and reviews and quantifies it in a manner such that we are able to identify words that probabilistically appear the most and least together. We believe that TfIdfVectorizer will be more effective in comparison to a more naive CountVectorizer approach because the TfIdfVectorizer accounts for the word distribution across documents.

Computer Vision: We are also actively working on and improving a computer vision deep-learning algorithm. Because of the time constraints in this hackathon, we utilized an off-the-shelf pre-trained VGG Neural Network Architecture in order to detect foods in images and label them. We chose the VGG Net because it has proven itself in object detection for large-scale images. To improve the transfer learning process to adapt more to CalDining specific foods, we are adding several layers beyond the current VGG Neural Network Architecture in order to better characterize these foods specifically. As we are able to build our own dataset of CalDining food, we will continuously train these algorithms. This computer vision algorithm will make the entire commenting and review process more seamless because it reduces the time spent tagging images.

CockroachDB: Our Node.js backend connects to our CockroachDB which is running in CockroachDB Cloud on Google Cloud. We mainly rely on CockroachDB as our relational database of choice due to its focus on scalability and parallelism (thought of as a drop-in replacement for Google Spanner).

*Due to time constraints, some of these features/concepts are not fully functioning/implemented in our current prototype. As we prepare for a wider release, these are the immediate items that will be fleshed out.

+ 5 more
Share this project: