Have you ever wanted a dog, but without the responsibility of owning one? What if there was an app that let you rent one for a weekend, or even for an event? Pupper is an iOS application that allows you to do just that.


This year, I took a UX class at UGA, taught by Matt Smith from MDS. After going through his AIUX module, we were tasked with creating an original app of our own design. Instead of running with a more serious idea, I decided to do something a bit more fun. A friend jokingly asked me to make an app for renting “good” dogs. I thought it was ridiculous and couldn’t seriously work… so why not make it for fun?


Where do I even begin with this legal nightmare? What would happen if a dog ran away while in a customer's care, or if the dog accidentally bit someone, or if the dog got sick, or someone was recruiting for an underground dog fighting ring, or, god forbid, it died! When you pass around a living thing to a bunch of strangers, things are bound to go wrong.

Getting started

After I ran through a few edge cases (read above paragraph), I started by stating my objective, use cases, scope, and any immediate notes:

Who would use this app?

Before I began my user flows, I needed to figure out who would use the service. My use cases directed my personas to where they needed to go. My market would be made up of people who needed a companion to play with, whether it be parties, jogging, or just playing fetch with. My two personas are Sally Chang, the night jogger, and John Correll, the dad who wants dogs at his son’s party. You can read my in-depth user stories here. (TL;DR in my userflows).

How does the user "flow" through this app?

Based off of my personas, I was able to come up with a list of features...

...which turned into flows.

Flows and sitemaps

These user flows follow my personas’ decisions through the app to rent a dog. I wanted Pupper to be as straight forward as possible so you could rent a dog asap. Because of this, my user flows are similar to my site map because most of the screens you need to navigate to are the only ones available. This reduces clutter and makes for a streamlined process.

Finding the dog you want

With my groundwork done, I started sketching out solutions for the dog rentals. I included the breed, cost, and name in each dog entry. To easily display this information, I went with a cell view for bite-sized entries.

Out of the three things I emphasized, the name sticks out like a sore thumb. Why would I emphasize something that wouldn’t really affect the dog’s quality? After all, the name is a bit arbitrary. Well, earlier I mentioned that “dog rentals” looked kinda sketchy. I didn’t want dogs to be objects, but individuals. To do this, I highly emphasized the name and the personality of each dog.

Who is this Dog?

When you read into the details of a dog, you will see a few things: name, breed, cost, description, and three key characteristics: age group, activity level, and temperament. The filtering system is based off of these characteristics. These factors will be the differentiator between dogs.

Shifiting wireframes

My designs changed when transitioning into the wireframes (with more changes when transitioning to hifis), which was expected. A few notable changes from sketches to wires was filters, settings, date picking, and the layout of the details page.

My initial design had a filter bar that you could flip through dog characteristic with. However, doing this created clutter and left no room for breed filtering. A separate filters page looked liked the best answer, which you’ll see in the hifis.

The details page consists of 3 parts: dog information, date picker, and the ‘add to kennel’ button. The challenge here was properly compartmentalizing sections into groups of action. For example, descriptors would be grouped, then the calendar would be grouped separately, and so on. Each group would have information accompanied by icons (i.e. age groups, would have icons of dogs and the calendar would have the days). Before I fell too deep into the rabbit hole, I realized the grouping approach was too cluttering. I shifted my thinking into creating hierarchy for the content, leading to my current design. This relies more on typography and whitespace, making for a cleaner interface.

Look and feel

I had to decide the look and feel of this app based off of the renter. Another message I wanted to convey with my interface was that each dog was a new adventure. That with your new friend, you could embark (pun intended) on a journey. To do this, I went with a “granola”, wanderlust aesthetic that would appeal to a younger audience. I also made sure that each dog looked just as excited as a user might be renting the dog. I wanted to emphasize imagery, white space, and typography throughout the UI.
As a dog lover, I wish that this app could be real one day. Hopefully, this idea will be pursued by someone willing to bear the legal burdens of this service… which if that sounds like you, let me know!

A few things to note: 1) The prices in my designs are arbitrary. How much is renting a dog supposed to cost anyway? The right answer: dogs are priceless. 2) I would like the dogs to come from shelters, where they could be trained, cared for, and ultimately adopted. What would likely need happen is that a company would need to train dogs specifically for this app. 3) As bad as this sounds, lawn mower rentals were a big influence and it helped with design direction.

Feel free to click through the Prototype.