ChewConn is an iPhone app for students at the University of Connecticut. It shows the food being served around campus on any given day. (Get it? Chew + UConn = ChewConn)
There are 8 dining facilities on UConn’s campus, with different names: North, South, Northwest, Whitney, Putnam, McMahon, Towers, and Buckley. The app shows what meal each dining facility is serving (breakfast, lunch, dinner, or late night food) or if it is closed. Users can "up-vote” or "down-vote” a food item if they tried it, to show whether they liked it or not.
The app works by fetching HTML code from UConn’s dining facilities website, which lists the menus on a daily basis. I found that certain patterns would appear right before a food item was listed, so I would parse the menu items from these patterns, and based on their relative location on the page, determine whether they were classified as breakfast, lunch, dinner, or late night. And I know what you're thinking... No UConn does not provide a public API to get this kind of data unfortunately, so if they change the webpage HTML layout, the app may require an update.
The first iteration of ChewConn was written in Objective-C and utilized "CloudKit,” Apple’s BaaS (backend as a service), to store menu items for the day and users’ up-votes/down-votes on each item. Since the menu changes every day, the first user to access the app the next day triggers all previous menu items to be deleted, based on their timestamp of creation. Then new menu items are fetched and put into the database.
I released a major update to the app in 2018: rewriting it in Swift, removing unused features, and improving performance. As of January 2018, ChewConn had about 800 users.