Retail Innovations

Designing a better, AI-driven in-store mobile shopping experience for Target customers. Collaborative venture between Oracle and Target.




Design Lead, Project Owner


Fall 2019 - Spring 2021



In late 2019, Target - one of Oracle’s largest retail clients - came to my team with a request - they wanted to create a more connected in-store shopping experience. They had spent time watching other major retailers leverage AI and advanced technology to help facilitate a next-generation shopping experience, and they wanted one of their own. In particular - they were interested in leveraging Oracle’s new ODA (Oracle Digital Assistant) chatbot software to help power this new in-store experience. The chatbot, in their eyes, was a great way to bring a personal and helpful experience to the Target customer. How we leveraged ODA was up to us - they just knew that they wanted it. From here, we developed our project goal...

"How might we use the Oracle Digital Assitant to improve the in-store experience for Target customers?"

Context & User Goals

We began the project by interviewing the Target stakeholders about their users - who were they? What information do you have on them? Their age, technical competence, needs, how they shop? At this point, any information on the users would be immensely helpful in helping us understand our users and ultimately, their goals. We reviewed the information they had, and we quickly began to build a picture of *who* these key users were. According to their information, the average Target customer is about 38 years old with medium to low technical competence. While that was the most they could share on demographics, the next insight they gave us was foundationally important to the direction of the project. They told us that there are two distinct customer groups that account for the bulk of transactions with the company - as they call them, the Routine Customer and the Leisure Customer

The Routine Customer tends to come to Target often (2x or more a month). This person has a few shopping characteristics as well. They tend to (for the most part) already know what they want, often make repeat purchases, and don’t need much assistance or hand-holding while in store. The easiest way to think about this user is as a routine Grocery Shopper who picks up Food, Supplies, and Toiletries once every week or so. 

The Leisure Customer comes to Target on occasion - once every month or two - and their desires are far different than that of someone buying groceries. They’re there to discover - not sure of what they want, likely ready to purchase something new or not commonly bought. This person often explores aisles, asks for directions, and needs help finding things.


User Goals

No matter the size, scope, or level of context for a project, I begin by investigating our users. Typically, this starts with a lot of question-asking - who uses this application, software, or service? What are their roles, and what are they looking to accomplish? What are they measured on, what are they motivated by, and what stresses them about? What about their job is easy, what could be made better? By understanding the users (of which there can be many different types with different goals and interests) we can very early on in the process construct a "north star" for measuring our success. As the process carries on, I always come back to these goals and say, "How is what I'm doing right now helping this user acheive the specific goals we outlined here?". The User Goals are always the foundation of the solution that I end up designing.


Current State Assessment

We began by assessing the current-state application and investigating how well the current state addressed the needs of our two users, Randall and Ria. In particular, we paid attention to the in-store experience, checkout flow, and in-store navigation. The Target App is a large e-commerce platform - for this process, we focused only on the targeted use cases. Indentifying the good and bad of the current-state application strongly informed the rest of the design process - and gave us specific functionalities to focus on as we approached the implementation of ODA.


Current State: What's Good

1. Cart Management

The Add To Cart and related cart functionalities in the app were robust - we found no issue with the functionality or flows themselves. This makes sense considering how important good funcionality of an Add To Cart / cart management feature would be to an online retailer. No need to change any of the cart or cart management patterns.

2. Barcode Scanner

The Barcode Scanner worked well. We were very suprised to see this functionality built into the application already - however it wasn’t used in conjunction with the cart system, so saw opportunity for an integration there. Already having a Barcode Scanner built out makes that functionality far more feasible from an implementation perspective.

3. Offers

The App did already have an Offer delivery system - however they were generalized (not targeted). Still, having this functionality already built out makes it easy to draw inspiration from.

Current State: Opportunity Areas

1. Remote Checkouts

There’s no functionality in the current-state app that enables a remote checkout experience. While there’s plenty of inspiration that can be drawn from the traidtional online checkout flow, an in-store contactless checkout experience doesn’t exist. This was cited as a strong need for both of our users, so it would become a focus of the designs that were to come.

2. In-Store Navigation

There’s no functionality in the current-state app that would help guide a user to a specific area of the store for an item. Similarly - there’s no way to determine via the app if the store they’re in carries any of a given item in stock. Both of these concerns we sought to solve in tandem, given how closely interlinked they were

3. Personalized Offers

While the current state does have a traditional (basic) Offers system, there’s no personalization involved. This was a big opportunity for us to step in an, using our AI and Chatbot, build out a feature that could deliver truly personalized offers on a per-user basis.

Workflows: Current & Future

The Scripts are where all the research we've done so far - gathering context, identifying our users and their goals, and investigating the current application state - starts to become something tangible, something that could be turned into a design for a piece of software. I began by laying out, for both customers, their current state experience - trying to capture their expectations and frustrations. Then, after identifying the frustrating and problematic elements of the current state, I wrote out a *new* script - the future state. The future script answers the question "how would we make this experience better for this user if technical and development constraints weren't a consideration? This allows my team and I to spin up an idealized version of what the solution we're shooting for could end up looking like. Even better, the Future Script serves as the foundation for the coming wireframes - this is how I begin the wireframing process, by mapping new steps and instructions from the Future Script to basic UIs.

Routine Customer: Workflows


In the current statedetermining which of his usual purchases is in-stock comes down to chance - Randall has no choice but to go looking for items himself. Also, there’s no option for contactless, self-driven checkout - Randall has no choice but wait on line, even when lines are long. At peak hours, he could spend 30 minutes on line.


In the future state, the Target App uses AI to inform Randall that some of the items he usually purchases are out of stock as soon as he steps in the store, saving him time. Also, the Target App allows Randall to checkout on his phone - letting him to avoid lines and get out of the store in as little as five minutes.

Leisure Customer: Workflows


In the current statefinding products, promotions, and sales comes down to chance - Ria has to go locate these all on her own. Also, there’s no good way to find items in the store - Ria has to find the items herself. During peak hours, she could easily spend 10 or 15 minutes looking for a single item.


In the future state, the Target App uses AI to recommend sales and promotions to Ria, helping her find items she might not have found otherwise. Also, the Target App helps navigate Ria to the exact location of the item in the storte - allowing her to go directly where she needs to without wasting time or getting lost.

User Flow Mapping

The User Flow Diagrams below are extrapolations of the Future Scripts shown above. They take the base-level flows from the scripts and blow them up into more detailed and literal flows that we use to more intentionally develop the wireframe UI. In assessing the Scripts above, I noticed that for each of our customers there were two pretty distinct flows - For Randall, he wanted to be able to know (premptively) if an item he normally purchases is OOS (to save him some time). For Ria, she wanted to receive targeted deals and promotions on products she's interested in when she's in the store - and also, wants assistance navigating through the store to these items. Both of these users share a desire to expedite their checkout process and handle checkout remotely on their mobile device.

Randall has two flows, derived from our Signature Moments. In the first flow, Randall gets informed (via Chatbot) that some of his commonly-purchased items are OOS. In the second flow, Randall scans the items in his cart and checks out remotelty, via the Target app.


Ria has two flows, derived from our Signature Moments. In the first flow, Ria is served targeted deals based on her shopping history and uses navigation assistance to locate the items. In the second flow, Ria scans the items in her cart and checks out remotelty, via the Target app.



I can't overstate the importance of this step - effectively creating a UI from a collection of user goals, scripts, and diagrams is no easy task, and one that must be done with care - especially when considering the importance of the insights gathered from this research. If I were to rush this part, all that I'd have done up to this point would have essentially been for naught. If we're not accommodating for the demonstrated needs of users when designing, then what are we really doing? This is all to say that, as I built this wireframe, I made sure to carefully consider the goals and pain points identified in the previous steps - while leveraging the scripts and user flow diagrams I created as the blueprint.

Flow: OOS Items


Flow: Targeted Recommendation + Navigation


Flow: Scan + Checkout


High Fidelity Prototyping & Testing

The transition from first wireframe to first Hi-Fi is more often than not the most time-consuming phase of any design. I try to be as meticulous as possible and try to square away any questions of gray areas on flows, layouts, and interfaces before we get to this point. I find that a wireframe-intensive projects always leads to a quicker Hi-Fi stage and, more importantly, a better and more thoughtful product after everything is said and done. With the wireframe squared away, design decisions made, and the demonstrated needs of users considered, it was time for the Hi-Fi. I made sure I used the flows, components, and page structures from wireframe as the foundation for the high-fidelity prototype - preserving as many blocks, containers, and elements as possible. If you compare the high fidelity screens to the ones in the above wireframe, you'll notice the high degree of overlap and consistency between the two interfaces. Beyond the structure, I used Oracle's RDS (Redwood Design System) to source all of the visual elements you see here - containers, layouts, components, fonts, colors... everything.

Routine Customer: OOS Items


In this flow, Randall begins by receiving a notification from the chatbot when he arrives at the store. Following the welcome message, the chatbot asks Randall about what he's come to the store floor, and Randall indicates that he's there to buy groceries, something he does about every two weeks. The chatbot asks Randall how it can help him shop for groceries, and Randall indiciates that he'd like to know what items he typically shops for are OOS. The chatbot brings up a carousel of items that Randall typically puchases that are unavilable. This interaction saves Randall precious time walking around the store, which he appreciates.

Routine Customer: Scan + Checkout


In this flow, Randall has gathered all of his groceries, but when he arrives at the cash registers, sees long lines. To avoid these lines, Randall opens the Target app and requests to begin Remote Checkout. The Remote Checkout experience is launched, and Randall starts using his phone's camera to scan the barcodes of the items in his cart, one by one. After scanning all of the items in his shopping cart, Randall confirms his order, pays, and completes the checkout process. He walks out of the store satisfied with his shopping experience and relieved that he didn't have to wait in such a long line.

Leisure Customer: Targeted Recommendation + Navigation


In this flow, Ria begins by receiving a notification from the chatbot when she arrives at the store. Following the welcome message, the chatbot asks Ria what she's come to the store for. After indicating that she's just there to look, the chatbot asks her if she'd be interested in seeing a curated list of deals based on her shopping history. She agrees, and a carousel with relevant deals is shown to her. She finds an item that's on sale that she likes, but isn't sure where in the store to find it. Luckily, when she clicks on the item's image and drills into the item detail view, there's a feature to help her locate the item in the store. She clicks "locate" and the chatbot pulls up a store map, with a marking where the specific item she's looking for is. She finds this functionality incredibly helpful, both for how it recommended a good item and how it effectively helped her locate it.

Leisure Customer: Scan + Checkout


In this flow, Ria has finished her leisurely shopping outing, but when she arrives at the cash registers, sees long lines. To avoid these lines, Ria opens the Target app and requests to begin Remote Checkout. The Remote Checkout experience is launched, and Ria starts using her phone's camera to scan the barcodes of the items in her cart, one by one. After scanning all of the items in her shopping cart, Ria confirms his order, pays, and completes the checkout process. She walks out of the store satisfied with her shopping experience and relieved that she didn't have to wait in such a long line.

Solution Assessment

After the completion of the High Fidelity prototype, I made sure to asses the design on the criteria I had identifed much earlier on - how did this deisgn help our users achieve their goals? Keep in mind, I had been thinking this throughout the process, but always find it's a good excersize to engage in, especially when hitting a big milestone like Hi-Fi completion. A lot can change over the course of a project build - this is especially true in the large-scale enterprise environments in which I'm used to working. Here, I assess the users goals as they relate to the flows, and how well the solution helps accomplish said goals.

Routine Customer

User Problem
Randall was frustrated that, when he would arrive at the store to shop for his groceries, he would find himself wasting time looking around for items that were actually out of stock.

We made it very easy for Randall to check for which of the items he normally shops for are out of stock - not only do we enable this functionality through the chatbot's natural language processing, but we even prompt him with an OOS item check so it's even easier to access.


User Problem
Randall was frustrated that, when faced with long lines, he had no other choice but to wait on them. He wished that there could be a better, quicker, more convenient way to check out at his own pace, skip the line, and go about his day.

We designed a fully-integrated Remote Checkout experience into the Target app via the chatbot, and enabled Randall to do everything he wanted - check out at his own pace, on his own time, allowing him to spend as little time in the store as possible.


Leisure Customer

User Problem
Ria wanted an easier way to explore the store's inventory and discover new products - mostly so that she could identify great deals and enjoy her shopping experience.

We made sure to accomadate this need via the chatbot. When Ria indicates to the chatbot that she's just looking around and not looking for any particular item, this is a pretty strong indicator that she may be interested in getting product and sale recommendations. The chatbot then serves her relevant deals based on her preferences and shopping history.


User Problem
Ria often found herself looking for items for quite a while, or just getting fully lost in the store without a representative around. She wished that there was an easier way to locate specific items quickly when she knows what she wants.

In the detail view of any item, we added functionality to allow Ria to pull up a store map and navigate directly to the item. This map and nav functionality can help Ria locate items of interest far more quickly and keep her from getting lost.


Final Thoughts

It was great getting to tackle such a big problem space with such an equally prominent retailer. The Target app serves thousands of customers per month, and being able to influence an app of this magnitude was just really exciting. While the project was incredibly educational for me and gave me great bandwidth to lead as a designer, unfortunately, the project fizzled out before an implementation plan. After getting a lot of positive verbal feedback on my designs, the project was turned over to our consulting implementation team, and I lost visibility on it and was moved on to other work. So is the life of a designer in a post-sales organization. I never got official word on whether anything came of this project after completion, but I did notice recently that Target added a Barcode Scanner to their mobile app. While I can't say that my work directly influenced that, you can definitely give me credit if you want. Thanks for reading!


I'm currently a Design Fellow at Coho focused on leadership and product-building in the role of a First Designer. Recently, I supported Product Design, Product Management, and User Research at CloseFactor as their First Designer / Design Lead.

Currently working at Oracle in Austin, Texas as a Cloud Engineer. I use my background in UX and Product Design to help companies implement innovative technical solutions while demonstrating the power of cloud-based applications. 

Currently supporting Product Design, Product Management, and User Research at CloseFactor, building the world’s first go-to-market operating system.



I'm looking for my next full-time role. It most likely looks like...
a Founding, First, or Lead Product Designer role at an early-stage startup or  a Senior+ Product Designer role at a growth-stage startup or public company
I'm also available to work on a fractional basis.

You're here for a reason - if you're just looking around my portfolio, enjoy. If you're interested in working with me, feel free to reach out to me via email or Linkedin - I would be more than happy to talk about my experience with you. I'm always open to hearing about current and future opportunities.

You're (probably) here for a reason - if you're just looking around my portfolio, enjoy. If you're interested in working together, feel free to reach out to me on Linkedin or via Email - I'd be more than happy to talk with you.



All rights reserved. Handmade by John Falcone in 📍 Austin, Texas. © 2023

All rights reserved by John Falcone. © 2020

All rights reserved.
Handmade by John Falcone in Austin, Texas. © 2023