Eatery is a dining app created by Cornell AppDev, a project team at Cornell University. It enables students to browse menus, find places to eat on and off-campus, and check their meal balances. Eatery has over 3K daily active and 6.5K monthly active users.
Eatery did not have a core working team from 2017–2018. As a team, we decided to revisit Eatery and consider improvements in Fall 2018.
In Fall 2018, I led the Eatery team of 2 Designers, 3 Android, 3 iOS, and 2 Backend developers. Here is an overview of our accomplishments:
- We launched our first Android version of Eatery, 90% crash-free.
- We updated our visual design system with new colors and iconography.
- We migrated our data over to a backend to maintain eatery hours easily without having to push an update to the App Store.
- We fixed a bug that prevented students from checking their meal balances.
What are some current problems?
As Eatery did not have any developers for over a year, we surveyed 103 students on campus to gain insights into their dining experience. Here were the top insights:
- 20% of the participants mentioned that the log-in feature was broken and that they could not check their meal balances.
- People often planned their meals in advance.
- People had a hard time deciding where to eat because the menu wasn’t the only factor. Crowdedness, dietary restrictions, cost were other variables.
- People missed out on their favorite dishes on campus because they didn’t look through all the options.
“I’ve been wanting fish for a week but the best way to find out where to get some is to check every dining hall’s menu.”
Improving the Eatery experience
With these new insights, we had a team brainstorming session and established a product roadmap, weighing both impact and engineering cost.
Collegetown Eateries (Feature)
Collegetown is an area right outside of Cornell’s campus with student apartments and restaurants. Many students move to this neighborhood after the second year.
We struggled to keep users when they move off campus because we only showed on-campus eateries. Because there is a limited set of Collegetown restaurants, it was fairly easy to add these restaurants with the Yelp API.
Popular Times (Feature)
Students want to quickly purchase food and go to their next class, but they can’t because they don’t know how long the lines are. I sat down with Cornell Student IT Services to request access to their API which fetches the number of swipes at each register for each on-campus eatery in the past 5 minutes.
Weekly Hours (Feature)
Using the Cornell Dining Now API, we get the hours of eateries for the entire week so it was easy to implement this.
Migrating to Backend (Engineering)
Previously, the client-side was responsible for fetching on-campus eatery information. However, because there were eateries that had hard-coded hours, if there was incorrect information, we would have to push a new update to the App Store. This process takes a nontrivial amount of time so we decided to delegate the fetching of eatery information to the Backend.
Fixing Meal Balance Bug (Engineering)
We previously used a hidden browser view on the iOS client to log in students into the meal balance website and then scrape the HTML for meal balance information. However, this failed for some students when they were prompted for 2-factor authentication.
To get around this, we discovered the endpoint to retrieve the session ID for a logged-in user. After retrieving the session ID, we sent it to the backend using Apollo GraphQL. Then the backend made the request for the meal balance information, sending it back to the client once it received a response.
How might we grow Eatery?
Alongside our feature roadmap, we had other goals in mind. We wanted to bring the Eatery product to everyone at Cornell. It only existed on iOS so we assembled a task force of Android developers to ship the first Android version.
We also added more client-side logging using Fabric to better understand user behavior and identify future opportunity areas.
Designing for Eatery’s First Android Version
Working with 3 Android developers, I transformed the iOS design experience into the Android version following Material guidelines.
Implementing Collegetown Eateries
People thought about the dining experience in two parts: campus and collegetown. I pursued option B and C and settled on B because the user could easily toggle between the different areas of Cornell.
Findings from User Testing
We recruited 12 students for 15min sessions. We asked about their off-campus dining experience and how they decided on an eatery. Then, we showed them an Origami Studio prototype of the new experience. Here are our findings:
- All participants found the toggle pills intuitive.
- People chose Collegetown eateries based on cuisine, price, and take-out vs. sit-down.
- People cared more about tangible waiting times rather than crowdedness.
Rethinking Eatery’s branding
As I started designing for Eatery Android, I realized that there was no official design system. We had multiple shades of the same intended colors in the codebase and design files. I decided to do an audit.
Eatery has a friendly voice in the community. It makes the dining experience more enjoyable instead of browsing through a poorly designed website. I wanted to incorporate this into our visual design system.
After numerous critique sessions and debating which fork looked the best, here is our new visual design system. I also created a fun seasonal app logo for the snowy Ithaca winter.
Hard work pays off
We acquired over 4.2K new iOS users and over 400 new Android users. We had an average of 6.5K monthly active users (MAU) for iOS and 350 MAU for Android. Here are all the things that the team established in one semester:
✅ Android Public Launch
✅ iOS Visual System Update
✅ iOS & Backend Login Fix
✅ Implement Backend with Cornell Dining & Yelp
✅ Integrate Backend with iOS
✅ iOS Event Tracking with Fabric
✅ Survey 103 Students
✅ Visual Design System
✅ Design Collegetown, Weekly Hours, Popular Times for 3.0
✅ User Testing with 12 Students
- Android is difficult. It’s hard to test on all the devices so it’s important to release the beta early and receive feedback.
- Team socials are crucial for productivity. If members enjoy each other’s company, features get shipped faster.
- Documentation and organization are the keys to success. I created a seamless Paper Doc to assign concrete tasks to team members so that they can easily achieve small milestones.
👏 Shoutout to my rockstar team: Conner Swenberg, Austin Astorga, William Ma, Cat Zhang, Ethan Fine, Abdullah Islam, Lesley Huang, Jae Young Choi & Brendan Elliott.