Transfer prescriptions

Fortune 5 company • 60M+ digital customers

Role: Lead Product Designer

Platforms: iOS • Android • Web

Team: Product • Business • Pharmacy • Research • Content • Accessibility • Engineering

Transfer Prescriptions helps customers move prescriptions from a non-CVS pharmacy to CVS for themselves or someone else on their account, whether they're logged in or not.

As Lead Product Designer, I inherited the initial designs ahead of development and owned the experience from design review through launch and post-launch optimization. I partnered with Product, Business, Pharmacy, Copywriting, and Engineering, overseeing design quality through the team's first Flutter implementation and leading a rapid redesign in response to significant post-launch drop-off.

Before: Current pharmacy search with separate search fields and a long results list.
After: Current pharmacy search with a unified search field and compact selectable results.

Research

During pre-launch design review, I identified friction in the existing flow. Because the experience was already approved for launch, Product and I agreed to use behavioral data to validate where improvements were most needed. After launch, Adobe Analytics confirmed significant early drop-off, giving us the evidence to prioritize improvements.

Annotated designs

Prioritizing the biggest friction point

Shortly after launch, I partnered with Product and Business to examine the analytics. A significant number of customers were selecting “Need to transfer between CVS locations?”, which took them out of the flow—and many didn't return to complete it. The drop-off was significant enough to make this an immediate priority.

Without budget for usability testing, we couldn't know why. I formed two hypotheses:

  • Intentional: Customers needed a CVS-to-CVS transfer, but they were forced to navigate a long screen before finding the alternate path.

  • Unintentional: The option looked like a required step in the primary transfer flow.

I designed for both: moving the alternate path to the top of the page so customers who needed it could get to the right experience sooner, while visually separating it from the primary flow so customers who didn't need it were less likely to mistake it for a required step. I then worked with Engineering to ship the update quickly. 🚀

Before

After

Rethinking the full experience

After solving the immediate problem, I independently explored what the end-to-end experience could become.

  • Stripped each screen down to its essential content and actions, creating clearer hierarchy, simpler interactions, and more consistent patterns.

  • Introduced a five-step progress indicator to accurately reflect the full journey and set clear expectations.

Final designs

Step 1: Choose a patient

  • Removed global navigation to keep the flow focused.

  • Added a progress indicator to set expectations.

  • Removed a nonessential illustration that didn't support the task.

  • Removed “Welcome” since this was a task flow, not a destination.

  • Simplified copy for faster scanning.

  • Used native components from the app's UI toolkit.

  • Made “Add someone else” secondary to clarify action hierarchy.

Before

After

Step 2: Pharmacy selection

  • Expanded search beyond pharmacy name to include ZIP code and address.

  • Used native components from the app's UI toolkit.

  • Made phone search a secondary option.

  • Added distance to help customers choose a location faster.

  • Moved and visually separated “Already at CVS?” from the primary flow.

  • Moved secondary and regulatory information into a sheet to keep the primary task focused.

Before

After

Step 3: Prescription selection

  • Shortened copy to reduce cognitive load.

  • Removed “My current pharmacy” since that context was no longer needed.

  • Updated the CTA to reflect the number of prescriptions selected.

Before

After

Edge cases and errors

I extended the same patterns across edge cases and error states, keeping the experience predictable when things didn't go as planned.

Field-level validation error

Field-level validation error

System-level error

No results state

End-to-end flow

A clearer five-step experience designed to reduce friction from pharmacy selection through submission.

Impact

🚀 Shipped the highest-impact fix

Used post-launch behavioral data to identify a significant point of drop-off, prioritize an immediate redesign, and work with Engineering to quickly ship the updated CVS-to-CVS transfer path.

🌎 Explored the broader opportunity

Independently redesigned the end-to-end transfer journey. I left CVS shortly after completing the exploration, before it moved into stakeholder review or implementation.

💪🏻 Supported a new technical implementation

Oversaw design quality through the team's first Flutter implementation, partnering with Engineering through development and QA.

✅ Scaled QA across 30+ people

Created Pharmacy's first centralized QA workflow and trained 12+ designers to use it. Product and Engineering adopted the process, scaling it across a 30+ person cross-functional team.

Team feedback

“Time and time again I’m impressed with the care, thoroughness and great quality of Nancy’s work—both how she works with people and the designs that she produces. She’s able to make good progress while collaborating with fellow designers and SCRUM team members. I note particularly how she gracefully handles many unexpected challenges that come up as details need to be worked out with development teams. When Nancy’s working on something, I’m happy to know I don’t need to worry about it, and I can look forward to excellent work and positive collaboration.” — Design Lead