Movers tab components
Tabs above the table, a count on every one
An exploded diagram of the SupplyMover Clients page with the At Risk Mover selected. Three new layers lift off the page reps already used every day: Mover tabs above the table, an Insights column that says why each client is there, and a Recommended Tasks column with one next step per row. Hover a layer to highlight it, or flatten the view back into the finished screen.
ShowsWhat I added: three new pieces on top of the page reps already used every day.
A diagram of the two problems behind the Movers redesign. First, pharma sales reps did not understand what the Movers were, so they did not trust or use them. That led to the second: the internal team could not agree on what the Movers were for. The problems were found in that order and fixed in reverse, by aligning the team first and then winning the reps over.
I talked to reps at different clients. Most didn’t know what the Movers were. The few who did liked them, just not enough to change how they already worked.
It started simple: almost nobody used the Movers. So I talked to reps at different clients and asked why.
Most of them didn’t know what the Movers were, or what they were supposed to help with. The few who did get it liked them, just not enough to change how they already worked.
FROM THE INTERVIEWSReps were still using pen and paper, writing notes to themselves and each other about things the Movers already tracked, like which clients they believed were at risk.
The SupplyMover Clients page before the redesign, recreated from production with sample data. The Movers sit as a row of chips inside the table card. Three callouts mark the problems: the chips looked like buttons so reps avoided clicking them, nothing explained why a client was in a Mover, and nothing said what to do next.
ShowsThe old page, three problems in a loop.
A side by side comparison of a sales rep's paper notes and the Movers in the app. Reps tracked by hand which clients needed a call, while the app had already flagged the same clients, such as Lakeview Pharmacy ordering every 34 days with 41 days since the last order, and offered the next step. Paper goes stale the moment it is written; the Movers update themselves.
ShowsReps tracked by hand what the app already knew. Paper goes stale. Movers update themselves.
Same clients on both sides. On paper, the rep guesses who’s at risk, and the note is out of date the moment it’s written. In the app, the Movers had already flagged them, said why, and offered the next step. The data was never the problem. Reps just didn’t trust it yet.
A chart from user interviews with pharma sales reps across clients, showing the habit line: the bar a tool has to clear before reps change how they work. The original Movers were helpful but sat below that line, so reps kept their old routine.
ShowsThe habit line: the bar a tool has to clear before reps change how they work. The Movers sat under it.
INSIGHTA feature can make someone’s day better and still get ignored. It has to be better by enough to be worth breaking a habit. If it isn’t, people stick with what they know.
It all came back to one thing: reps didn’t understand how the Movers worked. And the screen didn’t help.
The Movers mainly targeted sales reps and managers in pharmaceutical distribution, but other clients like GRV adopted them too, on a customized CRM for RV sales and maintenance. They were also meant to set the CRM apart from Salesforce and HubSpot. Instead, they caused confusion.
How I solved itShow reps the data behind each Mover and give them one clear next step (the row anatomy), then help them make it a habit (onboarding, training and demos). But first I had to figure out what the Movers were actually for.
Then I asked our own team, product, leadership and design, what the Movers were for. Everyone gave me a different answer.
If reps couldn’t tell what the Movers were for, I wanted to know what we thought they were for. I was on the team that built the first version, so I went back to all of us, product, leadership and design, and asked what problem it was supposed to solve. Everyone gave me a different answer. A way to track numbers. A filter. A to do list. We weren’t even calling it the same thing.
A diagram of team alignment on the Movers. Asking product, leadership and design what the Movers were for produced three different answers with three different names. The diagram shows them merging into one shared sentence that defined the feature.
ShowsAsk us what the Movers were for and you got three answers. One sentence replaced all of them.
So I got everyone in a room with one rule: describe it in one sentence, no buzzwords. We landed on a to do list first, a way to track numbers second.
I got product, leadership and design in a room with one rule: describe the feature in one sentence, no buzzwords. Forcing it down that small is what gave us our answer: the Movers are a to do list first, and a way to track numbers second.
A brainstorm sketch redrawn with real components. One client sat in three different Movers at once with no reason given for any of them. Each question a rep would ask about that client became a design decision in the redesign.
ShowsThe same client sat in three Movers with no reason why. Each question reps asked became a design call.
What would make reps use the Movers first thing every morning?
A summary of the Movers case study. Each problem is paired with the change made and the result: reps could not tell why a client was in a Mover, so an Insights column now explains it on every row instead of behind a hover icon; reps did not know what to do next, so Recommended Tasks gives one button per row, like Call Client.
Reps couldn’t tell why a client was there. I added an Insights column that says why, in plain words.
Reps trusted itMore detailsWhy it’s here: hidden behind an icon, one row at a time
Why it’s here: on every row, no hovering
Reps didn’t know what to do next. I added Recommended Tasks, one button per row.
About 20% fasterMore detailsReps knew why, then had to guess what to do
One clear next step, right on the row
Reps took the Movers for action buttons, so I moved them up into tabs, which read as a view, not an action.
No help neededMore detailsSame look as buttons that start a form
Tabs switch the view, nothing to undo
Even useful, it wasn’t worth changing habits for. Onboarding, training and live demos, pitched as more orders for the rep.
80% asked to ship itMore detailsThe team didn’t agree on what it was for. One sentence everyone signed off on: a to do list first, numbers second.
One goal to point back toMore detailsReps didn’t trust what they couldn’t see. So every row shows its work, then says what to do.
Later on, those suggestions were going to come from each rep’s and each client’s history: when a client orders most, when calls go best, what they usually buy and what you could sell them next.
An annotated At Risk row from the redesigned Clients table, read left to right. First the real data the Mover is based on, then the Insight that explains what the data means, then one Recommended Task. Data plus explanation builds trust, and the task gives a clear next step. A Phase 3 sample shows a task suggested from the client's history, such as the best time to call.
ShowsHow one row earns trust: show the real data, explain it, then give one clear next step.
The numbers each Mover is based on, so reps can check them.
Why this client is in this Mover.
What the data says to do.
Call on the 1st Thursday, around 10am
That’s when they order most, and when calls go best
Start with their usual refill, then pitch the new generic
THE IDEANone of this was new data. We just pulled together what reps already had, so they could spend less time digging through numbers and more time actually selling.
To show our work, I had to know exactly how each Mover decided who goes in it. They didn’t all work the same way. Some were a simple yes or no. Some checked a few rules. At Risk used AI to weigh a bunch of signals.
A diagram of the three levels of logic that decide which clients go in a Mover. Level 1 is a yes or no check on one field, like Previously Purchased, and these became filters. Level 2 checks a few rules, such as time since last contact or a quiet busy season, like Contact Due. Level 3 is an AI score that compares many signals. The same data also picks the next step.
ShowsHow each kind of Mover decides who goes in it, and how the same data picks the next step.
Checks one thing on the record.
LikePreviously Purchased, New
These turned into filters, since they weren’t really tasks.
Checks a handful of rules. If one or more hit, the client goes in.
LikeContact Due
Seasons mattered. Some clients buy way more at one time of year.
Compares lots of signals to what’s normal for that client, weighs them, and adds them up. Only drops count. Doing more than usual is fine.
LikeAt Risk
What counts as risky is different for every client. That’s why paper notes couldn’t keep up.
Tooltips and icons hid the reason until you hovered, so I gave every row two columns: Insights, for why it’s here, and Recommended Tasks, for what to do next.
A before and after of the Clients table. Before, the reason a client was in a Mover hid in a hover tooltip, one row at a time and only if reps knew to hover. After, every row shows an Insight, such as Missing Monthly Order, and a Recommended Task button like Call Client.
ShowsOne icon at a time vs. every row at once.
1 row at a time, and only if you know to hover
Every row at once, no hovering
The Clients table with the Suggested Sales Mover selected, rebuilt from the Movers mockups with sample data. Each row has an Insights column saying why the client is there and a Recommended Tasks column with one action, like Call Client or Log a Visit.
ShowsThe two new columns: why the client is here, and what to do about it.
TESTEDReps finished tasks on their own. Recommended Tasks mattered most: reps wanted to be told what to do, not just why.
Showing the data wasn’t enough on its own. Even when reps understood why a client was there, they didn’t know what to do with it, so they got stuck. To do apps pair every item with an action, so I added an action column next to it. Its name changed depending on the table, and I landed on Recommended Tasks because reps got it right away. Testing showed the two together made reps clearer and more confident.
Reps didn’t click the Movers in case they couldn’t undo it. So I moved them above the table as tabs, a pattern that reads as switching a view, clear enough that even a new rep with no training can tell. Some tabs always show, even at zero, so reps know they’re done. Others, like At Risk, only show up when there’s something to deal with.
WHAT I LEARNEDPeople bring the patterns they’ve been trained on. If it looks like a button, they treat it like one, so a new feature has to look different on purpose.
A before and after of where the Movers live. Before, they were chips inside the Clients table card. After, they are tabs above the table, a pattern reps already knew, with a count on each tab.
ShowsThe Movers moved out of the table and became tabs above it, a pattern reps already knew.
An interactive demo of static and dynamic Movers on the Clients page. Static Movers, like Contact Due, always show, even at zero. Dynamic Movers, like At Risk, only appear when their conditions are met. Flip the switch to watch the At Risk tab appear and disappear.
ShowsFlip the switch and watch At Risk show up, then leave. Try it.
TESTEDReps found their way around without help.
When I looked at other CRMs, I kept seeing groups of tasks shown above the table as tabs or quick filters. I borrowed that so reps felt at home, while the Movers still felt like their own thing.
Five Movers on the Shop page, Suggested, Popular, New, Short Date and Previously Purchased, were just yes or no labels, not tasks. I turned all five into quick filters inside the table. Now every Mover means there’s work to do, and the whole thing stays easy to explain and build on.
The Shop page, where the yes or no Movers stopped acting like tasks and became smart filters on the product table, from the Movers mockups.
ShowsOn the Shop page, the yes or no Movers stopped pretending to be tasks and became filters.
From logging in to done. Before, reps had to guess where to start, and most went back to paper. After, the data decides: At Risk shows up first when it matters, and Contact Due is always there.
An animated walkthrough of a sales rep's day, before and after the redesign. Before: log in, face one long client list with nothing saying where to start, fall back to paper notes and guess who to call. After: Mover tabs with counts, At Risk shows up first when someone is in it, each row explains why, and one tap completes the task while the count drops to zero.
ShowsAfter: the data decides where reps start, and the system does the sorting for them.
Log in
Dev time had to compete with paid client work, so I designed the whole thing first, then split it into phases that each worked on their own. Phase 1 shipped while I was on the team.
The project ran long enough that other work started changing it. The Shop Update was a separate project, but it touched the same tables, so I worked its changes into the Movers plan instead of fighting them. Every phase, and every project that overlapped, pointed at the same long term goal.
The finished screens of the Movers rollout, phase by phase. Phase 1 shipped Movers as tabs and Insights columns on the Clients and Shop tables. Phase 2, planned, adds Recommended Tasks and quick filters to all tables. Phase 3, planned, adds Mover tags on client detail pages and explains why each task is suggested.
ShowsWhat shipped, what was planned, and the screens for each. Pick a phase.
Call on the 1st Thursday, around 10am
That’s when they order most, and when calls go best
Start with their usual refill, then pitch the new generic
Phase 1 of the Movers redesign as it shipped, recreated from the Phase 1 plan rather than a screenshot of the live app. The Clients table has Movers as tabs and the Insights column. Recommended Tasks came later, in Phase 2.
ShowsWhat reps got first: tabs and the Insights column. Tasks came in Phase 2.
The Shop page after a separate Shop Update project, carrying the Movers patterns through. It has Movers tabs for All Items, At Risk and Suggested, a row of smart filter chips, and a product table with Projected Order, amount trends, an Insights column and Add to cart.
ShowsA separate project changed the same table, and the Movers patterns carried through it.
Phase 3 added more AI. For each suggested task, it would look at what worked before and explain why it’s suggesting that, so reps could trust it before acting on it.
A before and after of the client record header for A and B Pharmacy. Before, the record gave no sign of which Movers the client belonged to. After, Mover tags such as At Risk and Contact Due show by priority, with a +2 dropdown for the rest.
Reps could open a client from a Mover and lose track of which Movers it was in. Testing showed exactly where that broke, so I added tags at the top of the client page, most important first.
When I handed it off, I wrote up every new piece and added it to the design system so other teams could use it too.
The Movers components added to the Workd Design System 1.0 so other teams could build with them: the Mover tab bar with counts, the Insights and Recommended Tasks table columns, Mover tags for record details, quick filter chips, static and dynamic Mover tab states, and the task menu with actions like Call Client and Log a visit.
ShowsEvery new piece went into the design system so other teams could build with it.
Tabs above the table, a count on every one
Insights says why, Recommended Tasks says what next
The record remembers which Movers it is in
Yes or no Movers live inside the table
Static shows at 0, dynamic only when needed
One task up front, the rest one tap away
Shipping it wasn’t enough. Reps had to feel the difference, so we did onboarding in the app, training, and live demos using each rep’s own clients. I pitched it the way reps think: more orders, more often, more money.
A better feature still had to beat the habit line from the interviews. Shipping it wasn’t enough, reps had to feel the difference. So we did onboarding in the app, trained reps on how the Movers work, and ran live demos using each rep’s own clients.
I pitched it the way reps think about it: the Movers show you the calls most likely to turn into orders, which means more orders, more often, and more money at the end of the day. Using them makes your day easier. Skipping them means doing by hand what the tool already did for you.
A chart showing how three pushes, onboarding, training and live demos, moved pharma sales reps past the habit line from the interviews, from useful but not enough to switch to part of the daily routine.
ShowsThree pushes, onboarding, training and live demos, moved reps past the habit line.
Remember the habit line? The same kind of reps who used to ignore the Movers asked for this to ship right away.
A chart of minutes per rep on the same task, before and after the redesign. Tenured and new reps alike finished about 20% faster after the change.
ShowsTenured or new, reps finished the same task about 20% faster.
LONG TERMTimes varied a lot depending on how long a rep had been around, but overall they dropped. We also started tracking it in Datadog to see the long term effect, but that data came in after I moved on.
In a rep’s wordsI will actually choose to use this every day now. Now that I finally understand what it does.
Sales rep at QCP, usability session
The biggest win wasn’t a screen. It was getting everyone to agree on what the Movers were for. Once that was settled, design decisions got easy to make and easy to defend.
There was no shared map of the product, so I figured out how the Movers connected to everything else as I went. Next time I’d start with that map, and keep it updated so other projects could use it too.
I moved to other projects before we could track how Phase 1 did in the real app. Next time I’d decide what success looks like before release, so the results don’t depend on me still being there.
The deep dive has the research, the ideas I tried, every round of testing and the design system work.
Want the quick version to share? Flip back to Essentials. Or reach out, I’m happy to walk through any of it.