Wesleyan has several different eateries on campus, the main ones being Usdan, Red & Black Cafe, and WesWings (Swings). Unfortunately, Swings/RBC and Usdan each have different websites, both of which are horribly designed and maddeningly confusing, making checking whats for dinner a whole ordeal. Therefore, I joined with the OurCampus team to work on a new feature that would have all the daily menus in one place, as well as some other neato features.
In addition to just scraping the menus, I had the idea that users should be able to get a notification when their favorite dishes are available. To make this happen, every dish we scrape is added to a "dish" collection in Firestore, and then when that dish is available all users who are subscribed to it will receive a push notification. Furthermore, I created an error handling function that notifies the developers if certain errors occur, such as the swings website being changed, the image recognition API failing, or any manner of errors that could harm production. Lastly, I created a cleanup function to clean up old menus each day to save Firestore space and to ensure that old menus aren't displayed.
At the time of writing this, the OurCampus menu feature has over 700 daily users, which is about a quarter of the ENTIRE Wesleyan student body