MealSwap
MealSwap is a concept mobile app for students at UPenn that reduces waste in the meal plan system while allowing students to eat for free.
Timeline
2 months,
Spring 2026
Role
Solo Product Designer
Tools
Figma, Claude

Problem
At the University of Pennsylvania, many underclassmen find that they have an abundant number of meal swipes and dining dollars leftover at the end of each semester. Because leftover swipes and dollars do not carry over to the following year, they are wasted.
On the other hand, upperclassmen typically do not have any swipes or dollars because most of them don't participate in a meal plan. This means that if they want to eat on campus, they would have to use their own money to do so.
Research
To gain potential user insight, I conducted 10 user interviews with undergraduate students at UPenn. Here were the key insights:
Underclassmen typically end up with an abundance of leftover swipes at the end of each semester
Most students eat at campus dining halls for the majority of their meals
Most upperclassmen do not have a meal plan and need to rely on friends to swipe them into dining halls
Students are generally cautious about exchanging money with people they don't know
I initially planned on designing MealSwap around a marketplace model, where students would sell their extra swipes and dollars for real money. However, one key insight changed this completely:
Students are generally cautious about exchanging money with people they don't know
This led me to redirect the app toward a donation-based model, removing distrust between users and making exchanges feel safe.
Ideation
I started by exploring possible ways to design the two main user flows, which include the flow for users with too many swipes and the flow for users who are giving away excess swipes.
I was inspired by the meal block exchange system that exists at CMU, where students who need meal blocks will post their request in the community Discord server and students with extra blocks will pay for their orders.
My initial wireframes incorporate parts of this system in my user flows. Users who need a meal will post their order request, and users with extra swipes or dollars can select an order request to fulfill.

Initial sketches focus on the two main user flows: users who need swipes and users who give away their swipes.
I expanded on these initial designs in Figma:

Added login page, cart pages, profile page, and messages page.
After creating these initial wireframes, I began looking for design inspiration for my high-fidelity designs. I wanted to utilize a design style that Penn students were already used to, so I referenced the designs of Penn Mobile, which is Penn's official student app.



Screenshots from the Penn Mobile app.
I examined the user flows of Mobile Ordering, the app Penn students use to order food at dining halls in advance, and DoorDash. Analysis of Mobile Ordering allowed me to better understand the user flow for how students order and pickup food. Examining DoorDash's designs allowed me to better understand user flows for ordering food, communicating through messages, and viewing their order.



Screenshots of Mobile Ordering on the left and DoorDash in the middle and right.
Testing
With my initial designs, I conducted user testing the various students at Penn with the following user goals in mind:
Can the user easily differentiate between the 2 main user flows?
Can the user easily request an order?
Can the user easily fulfill an available order request?
After conducting user testing, these were the key insights found:
Confusion about navigating the home page with available orders.
Wasn't sure whether to message the person to send the order or to use the buttons.
Difficult differentiating between the attach order and attach code buttons.
Purpose of the plus button in the corner isn't clear.
Solution
Share your extra dining dollars and meal swipes, and eat for free.With this app, users with extra dollars or swipes can feed those who don't have enough, putting their leftover currency to good use. Users who don't have enough dollars or swipes will be able to receive a free meal.
Users can request an order for a meal. Once created, the request will be added to a communal list of requests, where other users can choose to fulfill an order request.
Users can browse through available order requests to fulfill, and can filter through requests by payment type or recency.
After deciding on an order to fulfill, the user pays through the Mobile Ordering app and sends the pickup code to the recipient, allowing them to receive their free meal.