a virtual pet simulation that helps you find the dog from local shelters that matches your lifestyle.


Design an experience that will help connect people looking for a new pet with the right companion for them. Help an adopter find a pet which matches their lifestyle.


A virtual pet simulation app that helps users learn about dogs that match their lifestyle. Users get pet recommendations from local shelters based on matching results.


Individual Project


1 week





Feature walkthrough
– 1 –

Alex is a young professional who lives alone. She always wanted to have a dog as company. She is interested in adopting one from local shelters but has little idea on the type of dog she wants or whether she has time or money to invest in a dog.

– 2 –

Alex downloaded match. After on-boarded, Alex got a pile of virtual dogs based on her preference combined with other randomized characteristics.

Alex picked Sammy.

– 3 –

Next day, match started to notify Alex on potential events that might happen while keeping Sammy.

– 4 –

At the end of the day, Alex received suggestions and tips based on her events summary. She had options to either adjust Sammy’s characteristics or her own lifestyle and try one more day.

– 5 –

By the end of 7 days, Alex had adjusted her lifestyle and Sammy’s characteristics so that they fit each other. match put together a list of dogs from local shelters that matched the profile Alex established.

Start with research
What’s the process of adopting pets and what are the struggles?

Guerilla research

Secondary research

I talked to people who have adopted cats or dogs, people who want to adopt pets, and people who have bought dogs. I also talked to a local shelter.

I did secondary research to understand some existing trends in pet adoption, including shelter operations and factors predicting animal adoptions.

Competitive analysis

To avoid reinventing the wheel, I did competitive analysis on current pet adoption platforms: petfinder, websites of a few shelters.

Mapping out how people decide to adopt animals

Based on the research, I mapped out the decision flow of pet adoption. The graph shows that users have more troubles for these two areas:

  1. deciding whether to adopt a pet
  2. finding the wanted pet from shelters

I also found that type of animal affects adoption process. For example, cat breed matters less than dog breed. So I decided to focus on designing a solution for dog adoption first and potentially it could be generalized to other type of pets.

Solutions considered

I brainstormed and wrote down “How Might We…” questions for all the problematic areas with different type of users in mind. This helped me to think of solutions. I came up with three solutions:

Solution 1: Predictive analytics + Wishlist

Target user

  • users who already have a specific type of pet in mind, but have trouble finding the pet they want.

Problems trying to solve

  • help find the pet adopters want

  • let people know whether their preferred pets are available as soon as possible

  • provide data on when is the peak season for users' preferred pets to appear in shelters

  • provide prediction on how long users' preferred pet would be available in shelters

Why not selected

  • heavily depends on shelters to provide data while shelters have little motivation to do so

  • heavily depends on whether existing shelter data is good enough for making accurate prediction

Solution 2: Adoption community

Target user

  • first time adopters who want to know more about adoption

Problems trying to solve

  • connect experienced adopters with new adopters to inform whether to adopt and the type of pet to adopt

Why not selected

  • existing online platforms already solve the problem well, and there is little incentive for people to download another app for it

Solution 3: Virtual pet

Target user

  • users who want to adopt pets but can’t decide because of limited knowledge

Problems trying to solve

  • match users' lifestyle to characteristics of pets

  • provide more accurate match result than questionnaires by putting people in the context

  • make finding adoptable pet a fun experience to encourage people to adopt

Setting the stage for the picked idea: virtual pet



From the research, there are two problematic steps involved in adoption process: deciding to adopt and finding the wanted pet. Solving both within one solution is possible but will likely take more than one week to do well. For the given time constraint, I only focused on step one and optimized a solution to help users decide to adopt a pet and which type of pet to adopt. Once user identified the type of pet they prefer, I assumed that there would be solutions to find the pet from shelters, such as Petfinder.


  • make it engaging

  • provide accurate match result

  • give users a taste on how much time and money needed to have a pet

  • ensure that users finish the entire evaluation process


The idea would be developed as a mobile app. I assumed that most users would have their mobile devices with them most of the time during a day, therefore mobile is a better platform to measure lifestyle.

Focus on a specific group of users

Alex (28)

Working professional. Single. No child.


  • adopt a dog from animal shelters.

  • find a dog that matches her lifestyle: schedule, type of residence, finance, etc.

Pain Point

  • doesn’t have a specific type of dog in mind.

  • not sure if she could take good care of a dog.

  • not sure if she had enough time for a dog.

  • not sure if she had enough money to spend on a dog.

Validate the concept with users

Storyboard and speed-dating

I speed-dated the storyboard with a few users who roughly match the persona.

Result from speed-dating:

  • “I’m not gonna do an actual walk. But a button click should be fine.”

  • “If I don’t get a dog at the end, I want to know why.”

  • “I would use it!”

  • “It helped me understand time commitment.”

Learn about events that mimic dog keeping experience

I also used Google Crazy 8's to brainstorm a few potential events to include in the app, and interviewed a few dog owners on their experience keeping dogs: what are some unexpected spendings or time commitment you learned only after having your dog? What are some especially rewarding moments with your dog?

I decided to focus on designing for one event, and use it as a template for adding other events. I picked dog walking as it is the most common task, and different types of dog are walked differently, thus could be used to match between dogs and the way owners like to walk them.

Iterating with low fidelity prototypes

I sketched out the task flow in low fidelity prototypes and tested it with a few users. Surprisingly, the prototypes received lots of negative feedback as opposed to the storyboard.

There are three major components in this task flow:

  • on-boarding

  • event system

  • final result

It was the event system that made users uncomfortable. The complaints could be summarized around these two areas:

1. Notifications that asks for immediate response was meant for accurate measurement, however, was intrusive to users’ daily lives.

Highlighted user reaction: “This is too much work for finding a dog. i’d rather just go to adoption center and pick one.”

2. Users don’t like being tested or being told that they are not good enough for something.

Highlighted user reactions

  • “I’m being tested for whether I’m responsible enough. If I’m not, I don’t get a dog.”

  • “I want to learn how I could do better when you tell me I failed.”

What I learned

A few rounds of user testing revealed fundamental problems of the way the app was initially designed. The initial goal for the app was to match people’s lifestyle to the right dog, which includes the app measuring people’s lifestyle through real-time events, and then at the end, providing final results based on previous measurement. But users don't like it this way.

Reframed the goal

I reconsidered the goal of the app and was able to reframed it to a new one ––

The app is to offer users knowledge on keeping dogs and help them adjust their lifestyles to the right dog.

What I changed

1. Notification: Put all unread events in a list for users to respond to later. Users don't have to react to the events immediately but still have the chance to see what are some typical events for their dogs.

2. Suggestions: Provide suggestions that help users match to the right pet with supporting tips. Give users the freedom whether or not to accept the suggestions,


I moved on to create mid-fidelity wireframes that capture the flow from the low-fidelity prototypes. I experimented with layout a bit more with wireframes. With a few iterations in Sketch, here is what I came up with.

Final thoughts


  1. One goal of the app set at the beginning was to provide accurate match result. There requires more testing to be done to validate the match accuracy.

  2. Current design only provides one perfect scenario. However, there are a lot of places where users might behave differently. The design should consider those scenarios as well.

Next steps

  1. Make it more engaging. It could be more than an education game. It could potentially be made into a game that helps promote shelters and attract potential adopters. One way to do this is to increase active user engagement. Right now users can only passively respond to events and cannot actively take care or play with their dogs.

  2. Multi-player. I found in research that dog adoption is often a household effort for people with family, and therefore the app could potentially bring in the entire family to experience the dog keeping experience.