menu

MealSwap

MealSwap is a concept meal exchange app for students at UPenn that aims to reduce waste in the meal plan system while allowing others to eat for free.

Timeline

2 months,
Spring 2026

Role

Solo Product Designer

Tools

Figma, Claude

Preview of the Available Requests screen design in the MealSwap app.

context

Underclassmen can't finish their swipes. Upperclassmen can't afford to eat.

At the University of Pennsylvania, it's common for many underclassmen to find that they have an abundant number of meal swipes and dining dollars left over 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

Gaining user insight

To gain potential user insight into this issue, 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

Key conclusions

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

Switching the model

This insight led me to redirect the app toward a donation-based model instead, removing distrust between users and making exchanges feel safe.

Ideation

Building out the two main user flows

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 Carnegie Mellon University, 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.

Screenshots of Mobile Ordering on the left and DoorDash in the middle and right.

I examined the user flows of both Mobile Ordering (the app Penn students use to order food at dining halls in advance) and DoorDash as reference points for my own designs.

Testing

How easy is it for users to navigate through my designs?

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.

Difficulty 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 final product, 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.

reflection

What I’ve learned throughout this project:

User research can lead to unexpected pivots

User feedback led me to change the core model of my product. This taught me the importance of not getting too obsessed with my initial ideas, because it can always change.

Designing around unavoidable constraints

Users needed to leave my app to place orders in Penn Mobile, which was a step I couldn't change. My 3-step tracker design kept users in the flow and minimized confusion.

Want to learn even more about this project? Reach out to me at emilytang532@gmail.com!

READY toTO
BUILD TOGETHER.

READY TO BUILD TOGETHER.

READY
BUILD TOGETHER.

menu

MealSwap

MealSwap is a concept meal exchange app for students at UPenn that aims to reduce waste in the meal plan system while allowing others to eat for free.

Timeline

2 months,
Spring 2026

Role

Solo Product Designer

Tools

Figma, Claude

Preview of the Available Requests screen design in the MealSwap app.

context

Underclassmen can't finish their swipes. Upperclassmen can't afford to eat.

At the University of Pennsylvania, it's common for many underclassmen to find that they have an abundant number of meal swipes and dining dollars left over 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

Gaining user insight

To gain potential user insight into this issue, 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

Key conclusions

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

Switching the model

This insight led me to redirect the app toward a donation-based model instead, removing distrust between users and making exchanges feel safe.

Ideation

Building out the two main user flows

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 Carnegie Mellon University, 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.

Screenshots of Mobile Ordering on the left and DoorDash in the middle and right.

I examined the user flows of both Mobile Ordering (the app Penn students use to order food at dining halls in advance) and DoorDash as reference points for my own designs.

Testing

How easy is it for users to navigate through my designs?

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.

Difficulty 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 final product, 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.

reflection

What I’ve learned throughout this project:

User research can lead to unexpected pivots

User feedback led me to change the core model of my product. This taught me the importance of not getting too obsessed with my initial ideas, because it can always change.

Designing around unavoidable constraints

Users needed to leave my app to place orders in Penn Mobile, which was a step I couldn't change. My 3-step tracker design kept users in the flow and minimized confusion.

Want to learn even more about this project? Reach out to me at emilytang532@gmail.com!

READY toTO
BUILD TOGETHER.

READY
TO
to BUILD TOGETHER.