App-etizing research for those with dietary restrictions

Back to All Stories

During the summer, Colgate students are applying their liberal arts know-how in a variety of real-world settings, and they are keeping our community posted on their progress. Computer science majors Priya Dhawka ’19, from Mahebourg, Mauritius, and Yesu Carter ’19, from Schenectady, N.Y., write about their campus-based computer science project.

During a span of 10 weeks, we are developing a web application that will make it easier for people who have food allergies and/or dietary restrictions to dine at restaurants. This student-initiated project is under the supervision of Associate Professor of Computer Science Joel Sommers.

As individuals with dietary restrictions and food allergies ourselves, we have sometimes been reluctant to eat at nearby restaurants due to a lack of confidence in which dishes are allergen-free or suit our personal dietary restrictions. Our project seeks to eliminate the cumbersome process of manually searching for restaurants by providing the ability to filter restaurants by food and dietary restrictions. The web app will also provide categorization based on whether each menu item meets a particular dietary restriction.

We started by reading about past projects with similar intentions and acquainting ourselves with the tools we would use in developing the web application, specifically web scraping utilities written in the Python programming language.

By collecting, filtering, and processing data collected from restaurants, pubs, and bars in various geographic locations, our ultimate objective is to create a comprehensive review and listing of those locations’ safe foods and allergen-friendly conditions. We have been working on a web crawler that allows us to extract menu data from online menus in different formats: web pages, images, and pdfs.

We apply Optical Character Recognition for non-text based menus, and we process the page into menu text. From here, we are currently developing our own Natural Language Processing technique to further process the menu text down to item name, description, and ingredients. For ambiguous food descriptions, we use our web crawler to conduct another web search for that food’s commonly used ingredients. We will spend the remainder of our summer developing our web application using Ruby on Rails integrated with our web crawlers.

We are hopeful that, in the future, this project will showcase our skills and capabilities — that it will serve as a key asset in the professional world after we graduate and prove beneficial to other students as well.