Search and add products by name
As a partner, I want to type a product name and pick from results so I don't have to memorize SKUs.
I led the redesign of IBM's partner deal registration flow on the Partner Plus platform, moving sellers from intent to closed deal 30% faster across 200+ enterprise accounts. I owned research, design, and rollout end-to-end, working closely with engineering, product, and legal teams across IBM.
Due to NDAs, some specific product details, exact metrics, and internal process names have been generalized or omitted.
Context
IBM's partner ecosystem drives a meaningful share of enterprise revenue. But the legacy registration tool, what partners use to claim a sales opportunity, had become a daily friction point. Drop-off was high. NPS feedback skewed negative. Quietly, partners were routing around the system: emailing reps, working in spreadsheets, or skipping registration entirely.
From IBM's side, this looked like missing pipeline visibility. From the partner side, it looked like a bureaucratic gate that didn't pay them back. Both sides were losing.
Research
I led a mixed-method discovery program across three workstreams.
Stakeholder interviews with Engineering, Sales, and Legal to understand technical constraints, regulatory requirements, and the mental models inside IBM.
Contextual inquiry shadowing 12 globally distributed partners as they ran live registrations, surfacing cognitive load and navigation dependencies that weren't visible in any analytics dashboard.
Platform-data analysis of telemetry from existing platform logs. The "Add Products" section was the sharpest fall-off point, with 49% drop-off at that step alone.
The synthesis became a tight problem statement: the form didn't match the shape of the work. After a prioritization matrix with the Product Owner, we agreed to tackle the high-impact "Add Products" flow first.
UX process
Research told us the form didn't match the shape of the work. Process is how we translated that finding into a Carbon-grade flow without skipping the steps that make a redesign defensible. Each artifact below fed the next.
With raw interview notes from 12 partners, I mapped the end-to-end registration journey across five stages: discover, prepare, fill, submit, await approval. The dip was sharpest at fill → submit, where partners pasted from spreadsheets, hit validation errors, and lost the data they'd just typed.
Mocked journey map · this is a representative version, the original is under NDA · the dip at fill → submit anchored the redesign brief
Journey mapping showed where partners hurt. User stories translated that pain into testable, scope-able units of work. I wrote 32 stories across 5 epics, each tagged with priority and acceptance criteria, before any screen got drawn.
As a partner, I want to type a product name and pick from results so I don't have to memorize SKUs.
As a partner, I want to add multiple SKUs in one registration without re-entering account data.
As a partner, I want to save and resume later so I can stop mid-flow without losing entered data.
As a partner, I want to know which field broke before clicking submit so I can fix issues as I go.
As a partner, I want pre-populated customer fields from existing CRM records so I don't rekey data.
Partial submissions, regional compliance variants, expansion flows, and 23 more edge cases mapped end-to-end.
32 stories was a lot to carry forward. After sharing research insights with the wider team, I ran a prioritization workshop to align stakeholders on what to ship first, what to defer to Phase 2, and what to park. Impact on the X-axis, effort on the Y-axis. Three features emerged as clear P0s, anchoring the first release.
P0 · ship first
Embedded search
Replaces manual product code lookup · killed the 49% drop-off
Inline validation
Carbon form components flag errors before submit
Pre-filled smart defaults
CRM data auto-populates account fields
P1 · phase 2
Draft auto-save
Partial registrations retrievable for 30 days
Multi-product co-sell
Single submission supports up to 25 products
P2 · backlog
Compliance simplification
Slimmed Q-bank, regional conditional questions
Approval status surfacing
In-product notification when legal signs off
Partners weren't all running the same path. A reseller registering a transactional deal looks nothing like an ISV co-selling a multi-product opportunity. I mapped 11 distinct flows across 3 partner archetypes (Reseller, ISV, System Integrator) and 3 deal scenarios (new business, renewal, expansion). Boxes below are Carbon-styled placeholders; production diagrams are under NDA.
Composite flow · 11 paths simplified to 3 archetypes × 3 scenarios · production diagrams under NDA
Before touching Carbon, I structured the four critical screens as greybox lo-fi wireframes. Deliberately ugly, so structure and sequence carried the conversation, not color or polish. The embedded search pattern for "Add Products" came out of this round, the structural decision to surface search inside the flow rather than as a separate step.
01 · Deal context
02 · Products · embedded search
03 · Pricing
04 · Review & submit
Lo-fi wireframes · greybox to keep focus on structure, not styling
Once the lo-fi structure tested clean, I rebuilt the full flow in Carbon, and not just the happy path. The production file lives under IBM NDA, but the spec was exhaustive: every screen and state across all 11 user flows: empty, filled, error, validation, loading, success, edge cases, and partial saves. By the time engineering opened the file, every interaction had a redline, every state had a wireframe, and every edge case had a spec.
The solution
The redesign reorganized the registration experience around the Carbon Design System, with three intertwined moves.
Embedded Search. Replaced the manual product code lookup that was driving the 49% drop-off. Wireframes were validated with partners before we touched high-fi.
Real-time validation. High-fidelity Carbon prototypes demonstrated inline error feedback, preventing bad data from entering the pipeline at all. The downstream effect was less Sales rework and fewer duplicate records.
Compliance simplification. A round of empathy mapping with the engineering squad surfaced how many compliance fields were performative. After a Legal sync, we negotiated a meaningful reduction in mandatory questions, without losing regulatory coverage.
Carbon contribution
While shipping the new flow, I identified an interaction pattern the standard Carbon library didn't cover: a search-in-modal for finding an existing entity (a distributor, customer, or partner) from a large indexed dataset, with a fall-through to "create new" when nothing matches. Rather than build it as a one-off for Deal Registration, I designed and documented it as a new global variant, alongside Carbon's existing transactional, passive, and danger modals.
New variant
A modal pattern that opens with a search field, returns a filtered table of indexed results, and provides single-select with a "create new" fall-through. Built for high-volume entity selection where a dropdown or combo box can't carry the metadata partners need to disambiguate.
See the component live
01 · Empty
Modal opens with an inactive results table and a prompt to search. Confirm disabled until a selection is made.

02 · Filled
Query returns a filtered, single-select results table. Confirm activates once a row is selected. Clear button resets the field without closing the modal.
03 · Error
If the user submits the search with an empty field, an inline validation message appears below the input ("You must enter a search value"). Field gets a red border, focus returns to the input, and the results table remains in empty state.
Use it for
Don't use it for
Six structural parts, all built from existing Carbon primitives. The variant introduced no new tokens or components. It composed elements that were already in the system into a pattern that hadn't been documented yet.
Title & context. Modal title plus a single-line description of consequence. The Change Distributor variant flags eligibility impact directly under the title.
Search field. Primary input with placeholder hinting at all searchable fields (name, country, CEID). Clear icon on the right when populated.
Search action. Primary button submits the query. Disabled when input is empty in the Change Distributor variant; auto-search on debounce in lower-stakes variants.
Results table. Standard Carbon data table with a leading radio column for single-select. Columns are configurable per implementation.
Empty / fall-through state. Illustration plus prompt before search, and a "create new" link after a zero-result search.
Footer actions. Cancel and Confirm. Confirm disabled until a row is selected. Both buttons full-width per Carbon's transactional modal footer spec.
The variant passed Carbon's WCAG 2.1 AA review: focus traps to the modal on open, returns to the trigger element on close, escape cancels, enter submits the search. Screen reader announcements tier through three priorities: results-count, selected-row, submit-confirmation.
The component shipped with usage guidelines, do's-and-don'ts, accessibility specs, and code examples in the Carbon documentation. The variant still ships in production today, used by other IBM partner-facing products beyond Partner Plus.
Validation
I built a clickable Carbon prototype covering the four critical screens (entry, products, pricing, submit) and ran 8 moderated sessions across three partner archetypes. Two rounds: discover friction, then confirm it was gone. Three issues caught and fixed before a single line of production code shipped.
Partners hit deprecated entries before active ones, costing time and confidence.
New questions popped in mid-flow, startling partners who'd already mentally committed.
Inline toast left partners unsure if it actually submitted.
Impact
The redesign rolled out from a 12-account pilot to 200+ enterprise accounts over Q3. The numbers told the story.
30%
faster cycle time
From first registration to closed-won, measured across 200+ accounts.
65%
less form abandonment
At the "Add Products" section, the original sharpest pain point.
75%
fewer duplicate records
Real-time validation prevented bad data from entering downstream Sales workflows.
40%
higher satisfaction
User satisfaction scores measured pre and post launch.
Reflection
Treating Deal Registration as a product rather than just a form transformed a critical business process. Rigorous user research paired with cross-functional leadership didn't just make the experience smoother, it directly impacted the bottom line.
The most important lesson: in enterprise UX, the answer to a UX problem often lives outside the UI. The Legal sync. The CRM integration. The component contributed back to Carbon. None of those were screens, but every one of them moved the metric.