UX DESIGN

SENIOR PRODUCT DESIGNER

4-WEEK PROJECT

B2B ENTERPRISE SAAS

Component design

The Netflix carousel, a benefits platform, and what happens when you look closely at both

A product leader wanted a carousel component inspired by Netflix for a redesigned home screen. I built it. I also spent time understanding why the Netflix carousel works, what that meant for our context, and how to make the component as good as it could possibly be whether or not any of that analysis changed the outcome.

6 decisions

Distinct design decisions explored and documented within the component

WCAG documented

Accessibility requirements researched and shared with the development team

Dev first

Met with the front end developers before stakeholder presentation to pressure test feasibility

BACKGROUND

A platform redesign and a familiar reference point

THE CONTEXT

The platform was undergoing a significant redesign with a focus on surfacing AI-driven recommendations and tasks directly on the end user home screen. One of the new sections being added was a horizontally scrolling card feed. This feed was a place where users could see required actions, upcoming deadlines, and programs relevant to them, all in one place.

THE REFERENCE

The reference point provided was Netflix. The product leader wanted something that carried the same energy as the Netflix carousel. It needed to be visually engaging, easy to scroll through, and filled with content that felt personalized and worth exploring. The ask was clear: build a card slider component that could be used across the platform, starting with this home screen section.

THE REQUEST

What they asked for, and the question underneath it

The original screen provided as a starting point showed the carousel section with a mix of card types, required actions with deadlines, recommended programs, and dismissible suggestions. The visual direction was set. The component just needed to be built.

But sitting with the request, a question started forming. Netflix carousels work remarkably well, but is that because of how they are designed, or because of what they contain. And if the answer was the latter, that had implications for what we were building.

Rather than raising that question as an objection, I decided to answer it first.

original version provided by the product leaders to be used as inspiration (image coming soon)

KEY TAKEAWAYS

What this project refinforced

Before designing anything, I spent time doing a proper breakdown of the Netflix carousel. Not just how it looked, but how it functioned and why users responded to it the way they did.

Intrinsic motivation

Netflix taps into users' intrinsic motivation. People watch for pleasure, curiosity, and relaxation. Each card represents a potential reward and scrolling feels like a game of discovery, stimulating the dopamine reward system.

Variable rewards

Users do not know what they will find next because the content is diverse (genres, actors, trending shows). That unknown triggers a dopamine response encouraging users to continue because the next section might be better.

Cognitive load and mental framing

Browsing is easy because the decisions are reversible and low-stakes. It is a leisurely action that puts users in a relaxed state and makes them more open to exploration and discovery.

Design and UX factors

High quality imagery, personalized recommendations based on watch history, and micro-interactions like hover previews and trailers create an engaging experience that reinforces all of the above.

anatomy breakdown of netflix carousel

The honest conclusion was that Netflix's carousel works largely because of what is in it. Users are scrolling through content they want to engage with, it's something they get to choose. The motivational context is fundamentally different from a carousel of tasks a user has to complete: annual enrollment deadlines, required document uploads, profile updates. Those are obligations, not discoveries.

Rather than stopping there, I asked what could actually be taken from the Netflix approach and applied to our context. Personalization was the clearest opportunity. Replacing text-heavy cards with quality imagery could reduce cognitive load and increase emotional engagement. Writing card titles that were engaging rather than administrative could make required tasks feel less like a form. A hover state revealing a more detailed preview could introduce a small element of variable reward within the constraints available.

These were not hypothetical observations. They became the basis for specific recommendations I brought to the presentation, ways the component and the content within it could be designed to work harder for users. Several of those recommendations involved changes to the card designs themselves, which fell outside the scope of this project. Implementing them would have required a heavier lift than the timeline allowed for. The recommendations were documented and presented, but the component was built around the cards as they existed.

Personalization

Showing users content that feels more relevant to can help them feel more engaged and connected to the content in the carousel. We should ensure that they content users see is tailored to them by utilizing information we have about the user (role, location, profile information, etc.).

Visual appeal & Emotional connection

By replacing text heavy cards with high quality imagery we can help reduce the cognitive load and increase emotional engagement. Including images of happy families, wellness themes, and overall positive imagery is more likely to draw the users attention and keep them looking at more content

Cognitive load & creating motivation

Breaking down the card titles into easily digestible and engaging titles that peak the users curiosity can make the experience feel less like a required task that needs to be completed and make it a more pleasant experience.

Variable Reward

In combination with shorter digestible titles, implementing a hover state for the card that shows a more detailed “preview” or explanation creates an engaging interaction without overloading the user with information on the front end.

"Removing intrinsic motivation does not make the carousel stop working, but it does change what the design needs to do to compensate."

BUILDING THE COMPONENT

Six decisions that shaped the final design

Before presenting anything to product stakeholders, I met with the front end developers assigned tot he project to share progress and get feedback. That conversation helped ground the design decisions in technical reality. It helped guide not just how the component would look, but how it would be built and how it would fit into the existing ecosystem.

DECISION 01

Navigation and the partial card approach

A version with no overflow cards was immediately ruled out, the product leaders believed that if users could not see content beyond the visible cards they would not scroll. That left two directions for showing partial cards on either end, both revealing navigation arrows on hover over the full container. The difference was card size. I preferred the scaled down version because it directed attention to the actionable content while still signaling that more existed. The stakeholders chose full size cards, partly because a larger feature card in the first slot would have created three different card sizes which was more complexity than anyone wanted.

No overflow cards

Clean edges, but no preview for the other content that existed

Full size overflow

Final direction, showing partial cards at full size on either end

Scaled down overflow

My preference, showing smaller overflow cards to emphasize active content

DECISION 02

The title component and the Explore all question

I explored a title component that followed a similar pattern to Netflix. The concept had a section header that revealed an Explore all option on hover, opening either a modal or a dedicated page showing all available cards. My preference was a dedicated page because it gave users a complete picture of everything available rather than hiding content behind the carousel mechanic. The stakeholders decided against it. The push was for users to scroll rather than navigate to a new screen. I disagreed with that reasoning but did not push back, it was not a battle worth fighting because the component would still function properly without it.

Default

Section title with no additional controls visible

Hover

Explore all options revealed on hover. This was not used in the final component.

DECISION 03

Breakpoint mapping

I mapped out at what screen widths the carousel should shift from four visible cards to three, to two, to one. This was primarily a readability and usability decision to ensure cards remained legible and actionable at every breakpoint rather than shrinking awkwardly as the viewport narrowed.

Breakpoint breakdown for the component

DECISION 04

Page indicator styling

The stakeholders had a preference for an indicator style that I felt was too visually heavy and did not clearly communicate which page the user was on. I proposed a variation that split the difference. I borrowed the shape from an older carousel pattern that had been retired from the platform and combining it with a slightly larger active state indicator. This is the version we ended up moving forward with.

Original request

Visually heavy, active state not clearly distinguished

Final direction

Refined shape, clear active state. This version was adopted into the component.

DECISION 05

Indicator position

I explored two positions for the page indicators, a top right version which is where Netflix places them, and bottom center. We chose bottom center for two reasons. From a development standpoint it created a more logical DOM structure. From an accessiblity standpoint it followed a more predictable keyboard navigation pattern, keeping the focus order sequential rather than requiring users to reach across the component to access the indicators.

Top right (Netflix pattern)

Disrupts focus order, less predictable for keyboard users

Bottom center (final)

More logical DOM structure, sequential keyboard navigation

DECISION 06

The filter toggle and a design system argument

The stakeholders wanted users to be able to filter the carousel between all cards and required-only cards. The design they were using resembled a traditional on/off toggle, the kind used to enable or disable a setting. One state visually read as disabled or turned off which was not the right mental. The filter was not turning something on or off. It was switching between two views of the same data.

Our design system had a component for exactly this, a toggle button group used for filtering between two or three sets of data. I proposed using it instead and they agreed. The adopted version also included a rule that if no required cards existed within a given instance of the carousel, the filter would be hidden automatically so users would never see an option with no functional effect.

Original direction

On/off toggle: one state read as disabled

Final direction

Correct component for filtering between two views of the same data

Final component with all variants and helper components

ACCESSIBILITY

Researching what the component needed to get right

Carousels are one of the most accessibility-complex components in common use. Before finalizing any interaction decisions, I researched WCAG requirements that applied specifically to this component and documented them for the development team. Some of that research directly informed design decisions, specifically around the indicator position, the keyboard navigation behavior, and the focus state specifications.

REQUIREMENTS

Pause, Stop, Hide WCAG 2.2.2 Level A

Full keyboard operability WCAG 2.1.1

Visible focus indicator WCAG 2.4.7 Level AA

Logical focus order WCAG 2.4.3 Level A

Slide change announcements WCAG 1.3.1

Proper ARIA roles and labels WCAG 4.1.2

No keyboard traps

Reduced motion preferences WCAG 2.3.3

NICE TO HAVES

Slide position indicators with text announcements

ARIA roledescription identifying component as carousel

Tablist and tabpanel structure for recognized widget pattern

Manual controls for specific slides

Automatic pause on hover

Semantic headings per slide

Responsive touch support WCAG 2.5.1

Accessibility documentation shared with development team

THE PRESENTATION

How the analysis landed, and what moved forward

The presentation followed a specific sequence. Netflix breakdown first, showing the anatomy of the component, the interaction states, what it was doing and how. Then the psychological analysis of why it worked. Then a brief and honest acknowledgment that some of those drivers did not map cleanly onto the content we were putting in the carousel. Then the lessons that could be applied. Finally we went over the current state of the component.

The room was mostly quiet during the analysis. I was thanked for going beyond just building what was asked for. And then the conversation moved to the component itself.

I did not expect the analysis to change the direction. That was not really the point. My job is to give decision makers the full picture and to advocate for users by making sure the people building the product understand the context they are designing within. Whether that changes the outcome is not always in my control. What is in my control is the quality and honesty of the information I put in front of them.

The component moved into active development. The design system toggle buttongroup decision was adopted. The accessibility documentation was in the hands of the developers. At the time of my departure the component was being built and I do not know its current status.

Final Component Design

KEY TAKEAWAYS

What this project refinforced

ON ADVOCACY

Thorough work is a form of advocacy even when it does not change the outcome

The psychological analysis did not redirect the project. But it sharpened my own thinking, informed specific design decisions, and exists as a documented record of the reasoning behind the component. Advocacy through depth is more durable than advocacy through objection. It cannot be dismissed as just pushback and it leaves something behind regardless of what the room decides.

ON DESIRABILITY

Understanding what motivates users changes how you design for them

Doing a genuine deep dive into the psychology of what makes an interaction desirable, not just usable, was one of the more interesting parts of this project. The get to do versus have to do distinction is not just a useful framing for carousels. It is a lens that applies to almost any moment where a product asks something of a user rather than offering something to them.

ON COLLABORATION

Meeting with developers before stakeholders makes the design better

Bringing the component to front end developers before presenting to product stakeholders meant the design had already been tested for feasibility before anyone in leadership saw it. The feedback from those conversations changed specific decisions and meant I could present with more confidence. It gave me confidence not just in how the component looked, but in how it would actually be built and how it would fit into the existing system.

OTHER PROJECTS

Want to see more?

Check out my other work