Target Fetch

Using IoT to reorder household products


Subscriptions are one tactic to keep household essentials—like toiletries and cleaning supplies—in stock, but since delivery happens on a fixed schedule, it’s easy to end up with too little or too much. Enter Target Fetch, a service that enables smart devices to measure the stock of select essentials as they’re being used, triggering a reorder at the right time.

An ad for Target Fetch's Indiegogo campaign.


As Lead UX Designer, I defined the information architecture and corresponding user flows that support the tracking, reporting, and reordering of a variety of devices and replenishment products. I also designed the app’s interface and participated in the planning, execution, and analysis of qualitative research efforts.


Before beginning the design and dev work, we needed to understand how and why people use subscriptions today. We surveyed 300+ people who had subscriptions for essentials, conducting follow-up interviews with ten participants to build context. Three primary goals surfaced:

  • Replenish inventory
  • Offload the cognitive burden of tracking a household shopping list
  • Reduce unplanned trips to the store

For several users, however, the task of tracking a list had been replaced with the task of managing a subscription. These participants recalled instances when a regular shipment had arrived while they still had a substantial stock at home. As a result, they closely monitored their inventory and subscriptions so they could intervene and avoid paying for products they didn’t need. This group informed our primary persona, and we believed that inventory-based subscriptions could offer peace of mind.

Ella, a.k.a. the "Delegating Task-Master," likes keeping her household in order. Unplanned store trips cause her stress, because they cut into family time.

Information Architecture

While our team accepted that Fetch wouldn’t address every essential or smart device at launch, user research and business intelligence showed that subscriptions had the most value when several types of essentials were available. With this in mind, the platform was designed to be flexible from the outset. I worked with the product owner and engineers to establish common dependencies to enable any device to reorder:

  • user account
  • device type
  • replenishment product
  • product status
  • payment & shipping
  • dashboard – inventory/device/shipment status
The above flow was nicknamed the "subway diagram" by the team. I created it to illustrate how users interact with Fetch across different device integrations.

Let’s look at how users interact with core components--device type, replenishment product, and product status--in the Fetch app. Note: The Fetch platform supports third-party device integrations, but for the sake of simplicity, I'm going to focus on the Fetch hero devices.


Fetch’s three hero devices include smart versions of a paper towel holder, a toilet paper spindle, and a liquid soap dispenser. Sensors inside the devices measure the corresponding essentials as they are used and report this information to the app.

The soap dispenser, toilet paper, and paper towel smart devices.

Once our first prototype devices were ready, we launched a 3-month, in-home study with eight families. We observed that the devices’ lack of lights, buttons, or other state indicators caused people to worry about whether everything was working. Adding these indicators to the hardware would increase costs, so I found opportunities to increase transparency via the app and communication UX.

Device setup in the app begins with users selecting their device type. An animation appears on screen as the app searches for the device. Once identified, the app shows a card with the device’s unique ID, information that can be verified on the physical device. If the app is unable to connect to the device during setup, an error message alerts the user and offers troubleshooting recommendations.

A flow diagram and animation of device setup.

I also designed flows to support users in understanding their devices after setup is complete. It’s important for devices to sync frequently with the app in order to maintain an accurate record of a user’s inventory, so I made the most recent sync time visible on the device details screen, and I allowed users to manually sync with a button on the same page. In the event that a device hasn’t synced with the app in a while, an email will be sent alerting the user. Finally, when the device's firmware needs to be updated, emails and in-app messaging help users stay informed and do their part.

Users can sync devices from the product-device details screen.
In designing the firmware update flow, it was important to show whether the action was successful via immediate and persistent feedback states.

Selecting Product

After setting up their device, users select the product they want to be shipped. It’s possible to have dozens--and occassionally hundreds--of product options within one essentials category, so tools to refine the results are necessary. At the time, Target’s search API often included unrelated results in its responses, and engineering a custom solution would be a huge technical endeavor. To validate what to build, I created paper prototypes and conducted a think-aloud exercise.

An example's tricky to parse search results.
The paper prototypes included a product landing screen and blank screens for Search, Filter, and Sort functions. The screens for each of these functions were blank so that testers would be unbiased in describing what they would expect to appear.

Eight people viewed a mockup of the landing page and were probed on how they would find their favorite essential products. Of that group, 5 testers preferred filters, 2 preferred search, and 1 preferred sort, and the most important considerations overall were brand, size, and sales. I gave the engineering team recommendations based on these findings, and the revised implementation eliminates the search bar, enables filtering by brand, and addresses pricing and sales through sort options. I also made improvements to the presentation of product information, lengthy product names and small photos were hard to decipher

The product selection flow begins with a recommendation, which is intended to help the user quickly proceed to the next section.

Product Status

Proceeding to the Product Status section, users enter information about their inventory, which determines when an order is triggered. To ensure this section was clear, we did a study to learn how people described their stock—when they used whole versus partial units, how they assessed opaque containers, etc. The findings allowed me to standardize how inventory is communicated in the UI, regardless of a product’s category.

Examples of how a user inputs status for Fetch hero products.

Returning users can view Fetch’s accounting of their inventory from the app’s home screen, and if they see an error in the record, they can edit it on the inventory details screen.

Product status may be updated after onboarding.

Anticipating the measurements would be a little off in the beginning, I incorporated opportunities to finetune the readings. I created a communication-focused user journey that proactively reports these measurements via email and asks them to verify.

A deep link in the status check email takes the user to the appropriate section of the app.

Emails and push notifications alert the user about 48 hours before a shipment is processed, enabling the user a window to cancel an order if the timing is off. One week after setup, users are sent an email showing the current status level on record, and if the number doesn’t reflect reality, users can choose to update.

The status section (pink) of the communication diagram describes rules for when users should be asked to confirm their inventory.


Restocking essentials is the explicit purpose of Fetch, but the aspiration to reduce one’s day-to-day cognitive load makes the service compelling. One of the key things I learned in this project is that transparency and communication are just as important to earning users’ trust as fulfilling the value proposition of a product.

More projects


Interface to help in-store shoppers understand products

View project

Vendor Metrics Dashboard

Helping vendors contextualize product performance with in-store shopping metrics

View project

Open House

Enhancing engagement in-store with new product displays and content

View project

Homemade VR

Leveraging VR to help people see how home products might look in their space

View project