Find a match with your potential furry best friend


Project Overview

Citypups aims to match potential dog owners with dogs that fit their lifestyle and living situation.  For those who live in cities where populations are high, living spaces are limited, access to dog-friendly outdoor spaces are rare, and work schedules are unpredictable, it can be difficult to find a dog they can properly care for and that is compatible with their lifestyle.

User testing on the initial app design highlighted potential issues with the onboarding experience that resulted in users not feeling confident in the accuracy of their matches.

As apart of a UX design workshop with Bitesize UX, I design solutions that would improve the onboarding experience of the CityPups app.


UX designer




Mobile app


April 2021 - April 2021; 3 days

How might I improve the onboarding experience of the CityPups app so that users can feel confident in their potential dog matches?

Final Pages

Design Decisions

The original design for the citypups app allowed users to make selections that describe their current circumstances, with the goal of using the given information to match users with the dogs that may be best suited for them.

However, the original pages lacked clarity in what exactly the app’s parameters were for the information it required from users. There needed to be more specificity in how the app defined qualities such as size, lengths of time, and amount of space, so I set forth the following goals for the app redesign:

  1. Give users the information they need to make informed decisions
  2. Add specificity in order to reduce friction for users, and so that they understand the necessity of each question

User Research

Trouble Finding the Perfect Match

User Testing

Going through a pre-recorded interview in which a user navigates the process of selecting her preferences in dogs and in lifestyle allowed me to discover some pain points that needed to be addressed.

While there were some things that the user found helpful within the already existing pages:

  • The tip on each page that gives some helpful dog knowledge
  • The option to select the dog size of their preference

Some aspects of the onboarding experience proved to be confusing to the user:

  • A lack of specificity with dog sizes. How many pounds does each dog weigh?
  • A lack of clarity in the amount of space being referenced in the housing options. It’s also not clear whether park space, backyards, etc. are also being factored in
  • A lack of clarity about the app’s standards for the amount of time spent for walking a dog or allowing them to exercise. What does the app consider “all the time” or “not much”?


Setting Clear Standards for CityPups

The most difficult part of finding solutions for these pain points was figuring out how to get as specific as possible so that it’s clear to the user what’s being asked of them and how that information would help with their match, all the while making sure I’m not giving unnecessary information that could delay the user’s progress through the onboarding experience. I also needed to consider how I may need to adjust the copy to get this info across the user in a better way.

I started with sketching a couple of different options for each page:


Page 1: Dog Sizes

While I played around with the layout for each option, the general idea I had in mind was the same. Give a size range in pounds that would help to classify each size option in addition to a photo example that the user can look at as reference.

Page 2: Space Availability

I played around with a couple of multi-select design options to figure out the most ideal way to allow users to select all the different kinds of spaces that apply to them:

  • Using checkboxes would add more options to select that accurately describes the space they have available, but this would cause the user to need to scroll in order to see all of the options
  • I also tried out a multi-select option where users can make selections within different categories. This option would also include some icons that exemplify the different choices that users can select

Page 3: Exercise

I sketched pages that were more specific with the options users can select with regard to the amount of time they would spend walking their dog.

  • The first option would allow users to specify the amount of time they would be able to have their dog exercise each day of the week. They would be able to do this by selecting each individual day.
  • I also sketched a more general option where users could simply select the amount of time they'd have each day to exercise their dog, without needing to specify each day

Visual Design

A New Onboarding Experience

I moved forward with one of each of the pairs of options I sketched for each page, and made some adjustments for the final designs.

Page 1: Dog Size

I moved forward with the design that would lay the dog sizes on one page, without users needed to swipe through all of the options


Page 2: Space Availability

The second option here gives users more specificity with the options they could select from. All of the categories related to living arrangements fit one page so that users can easily give that information about themselves without having to do too much scrolling and before moving on to the next page

Page 3: Exercise

I opted for the simpler design here, where users wouldn’t need to select each individual day in order to specify the time they would have to walk a dog, as that information may not be as important when it comes to matching users with a dog, since there are exercise recommendation for different breeds of dogs, regardless of the day of the week.


What I've Learned


Working towards the best solution

This workshop was great practice for me when it came to thinking through each idea I came up with and figuring out what solution would be best for the final design. It was helpful for putting myself into the users' shoes and finding a balance between solutions that provide the information users need to complete their tasks while not requiring information from users that may not be necessary for getting users where they need to be.